438faf:	85 f6                	test   %esi,%esi
438fb1:	74 12                	je     0x438fc5
438fb3:	8b 45 08             	mov    0x8(%ebp),%eax
438fb6:	8b c6                	mov    %esi,%eax
438fb8:	8b 10                	mov    (%eax),%edx
438fba:	ff 52 1c             	call   *0x1c(%edx)
438fbd:	84 c0                	test   %al,%al
438fbf:	75 04                	jne    0x438fc5
438fc1:	33 c0                	xor    %eax,%eax
438fc3:	eb 02                	jmp    0x438fc7
438fc5:	b0 01                	mov    $0x1,%al
438fc7:	8b 55 08             	mov    0x8(%ebp),%edx
438fca:	88 42 bf             	mov    %al,-0x41(%edx)
438fcd:	8b 45 08             	mov    0x8(%ebp),%eax
438fd0:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
438fd4:	75 23                	jne    0x438ff9
438fd6:	8b 45 08             	mov    0x8(%ebp),%eax
438fd9:	8b 40 c8             	mov    -0x38(%eax),%eax
438fdc:	8b 58 4c             	mov    0x4c(%eax),%ebx
438fdf:	85 db                	test   %ebx,%ebx
438fe1:	0f 84 be 03 00 00    	je     0x4393a5
438fe7:	8b 45 08             	mov    0x8(%ebp),%eax
438fea:	8b c3                	mov    %ebx,%eax
438fec:	8b 10                	mov    (%eax),%edx
438fee:	ff 52 1c             	call   *0x1c(%edx)
438ff1:	84 c0                	test   %al,%al
438ff3:	0f 85 ac 03 00 00    	jne    0x4393a5
438ff9:	8b 45 08             	mov    0x8(%ebp),%eax
438ffc:	c6 40 c7 01          	movb   $0x1,-0x39(%eax)
439000:	8b 45 08             	mov    0x8(%ebp),%eax
439003:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
439007:	74 2c                	je     0x439035
439009:	8b 45 08             	mov    0x8(%ebp),%eax
43900c:	8b 40 f8             	mov    -0x8(%eax),%eax
43900f:	8b 55 08             	mov    0x8(%ebp),%edx
439012:	8b 52 c0             	mov    -0x40(%edx),%edx
439015:	2b 42 34             	sub    0x34(%edx),%eax
439018:	8b 55 08             	mov    0x8(%ebp),%edx
43901b:	89 42 f0             	mov    %eax,-0x10(%edx)
43901e:	8b 45 08             	mov    0x8(%ebp),%eax
439021:	8b 40 f4             	mov    -0xc(%eax),%eax
439024:	8b 55 08             	mov    0x8(%ebp),%edx
439027:	8b 52 c0             	mov    -0x40(%edx),%edx
43902a:	03 42 30             	add    0x30(%edx),%eax
43902d:	8b 55 08             	mov    0x8(%ebp),%edx
439030:	89 42 fc             	mov    %eax,-0x4(%edx)
439033:	eb 1e                	jmp    0x439053
439035:	8b 45 08             	mov    0x8(%ebp),%eax
439038:	8b 40 f8             	mov    -0x8(%eax),%eax
43903b:	83 e8 10             	sub    $0x10,%eax
43903e:	8b 55 08             	mov    0x8(%ebp),%edx
439041:	89 42 f0             	mov    %eax,-0x10(%edx)
439044:	8b 45 08             	mov    0x8(%ebp),%eax
439047:	8b 40 f4             	mov    -0xc(%eax),%eax
43904a:	83 c0 10             	add    $0x10,%eax
43904d:	8b 55 08             	mov    0x8(%ebp),%edx
439050:	89 42 fc             	mov    %eax,-0x4(%edx)
439053:	8b 45 08             	mov    0x8(%ebp),%eax
439056:	8b 40 c8             	mov    -0x38(%eax),%eax
439059:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
43905d:	0f 84 b3 00 00 00    	je     0x439116
439063:	8b 45 08             	mov    0x8(%ebp),%eax
439066:	ff 48 f0             	decl   -0x10(%eax)
439069:	8b 45 08             	mov    0x8(%ebp),%eax
43906c:	ff 40 fc             	incl   -0x4(%eax)
43906f:	8b 45 08             	mov    0x8(%ebp),%eax
439072:	8b 40 d8             	mov    -0x28(%eax),%eax
439075:	8b 40 14             	mov    0x14(%eax),%eax
439078:	e8 ff 41 fe ff       	call   0x41d27c
43907d:	8b 55 08             	mov    0x8(%ebp),%edx
439080:	89 42 b8             	mov    %eax,-0x48(%edx)
439083:	8b 45 08             	mov    0x8(%ebp),%eax
439086:	f6 40 0c 01          	testb  $0x1,0xc(%eax)
43908a:	75 46                	jne    0x4390d2
43908c:	8b 45 08             	mov    0x8(%ebp),%eax
43908f:	8b 40 d8             	mov    -0x28(%eax),%eax
439092:	8b 40 14             	mov    0x14(%eax),%eax
439095:	e8 e2 41 fe ff       	call   0x41d27c
43909a:	8b 55 08             	mov    0x8(%ebp),%edx
43909d:	89 42 b8             	mov    %eax,-0x48(%edx)
4390a0:	ba 14 00 00 ff       	mov    $0xff000014,%edx
4390a5:	b8 0f 00 00 ff       	mov    $0xff00000f,%eax
4390aa:	e8 75 90 fe ff       	call   0x422124
4390af:	8b d0                	mov    %eax,%edx
4390b1:	8b 45 08             	mov    0x8(%ebp),%eax
4390b4:	8b 40 d8             	mov    -0x28(%eax),%eax
4390b7:	8b 40 14             	mov    0x14(%eax),%eax
4390ba:	e8 99 41 fe ff       	call   0x41d258
4390bf:	8b 45 08             	mov    0x8(%ebp),%eax
4390c2:	8d 50 f0             	lea    -0x10(%eax),%edx
4390c5:	8b 45 08             	mov    0x8(%ebp),%eax
4390c8:	8b 40 d8             	mov    -0x28(%eax),%eax
4390cb:	e8 58 45 fe ff       	call   0x41d628
4390d0:	eb 24                	jmp    0x4390f6
4390d2:	8b 45 08             	mov    0x8(%ebp),%eax
4390d5:	8b 40 d8             	mov    -0x28(%eax),%eax
4390d8:	8b 40 14             	mov    0x14(%eax),%eax
4390db:	ba 0f 00 00 ff       	mov    $0xff00000f,%edx
4390e0:	e8 9f 41 fe ff       	call   0x41d284
4390e5:	8b 45 08             	mov    0x8(%ebp),%eax
4390e8:	8d 50 f0             	lea    -0x10(%eax),%edx
4390eb:	8b 45 08             	mov    0x8(%ebp),%eax
4390ee:	8b 40 d8             	mov    -0x28(%eax),%eax
4390f1:	e8 32 45 fe ff       	call   0x41d628
4390f6:	8b 45 08             	mov    0x8(%ebp),%eax
4390f9:	8b 50 b8             	mov    -0x48(%eax),%edx
4390fc:	8b 45 08             	mov    0x8(%ebp),%eax
4390ff:	8b 40 d8             	mov    -0x28(%eax),%eax
439102:	8b 40 14             	mov    0x14(%eax),%eax
439105:	e8 7a 41 fe ff       	call   0x41d284
43910a:	8b 45 08             	mov    0x8(%ebp),%eax
43910d:	ff 48 f8             	decl   -0x8(%eax)
439110:	8b 45 08             	mov    0x8(%ebp),%eax
439113:	ff 40 f4             	incl   -0xc(%eax)
439116:	8b 45 08             	mov    0x8(%ebp),%eax
439119:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
43911d:	0f 84 5a 01 00 00    	je     0x43927d
439123:	8b 45 08             	mov    0x8(%ebp),%eax
439126:	8b 40 c8             	mov    -0x38(%eax),%eax
439129:	8b 58 40             	mov    0x40(%eax),%ebx
43912c:	83 fb ff             	cmp    $0xffffffff,%ebx
43912f:	7e 49                	jle    0x43917a
439131:	8b 45 08             	mov    0x8(%ebp),%eax
439134:	8b 45 08             	mov    0x8(%ebp),%eax
439137:	8b 40 c0             	mov    -0x40(%eax),%eax
43913a:	e8 3d c1 ff ff       	call   0x43527c
43913f:	3b d8                	cmp    %eax,%ebx
439141:	7d 37                	jge    0x43917a
439143:	8b 45 08             	mov    0x8(%ebp),%eax
439146:	8b 40 f4             	mov    -0xc(%eax),%eax
439149:	50                   	push   %eax
43914a:	8b 45 08             	mov    0x8(%ebp),%eax
43914d:	8b 40 c8             	mov    -0x38(%eax),%eax
439150:	8b 40 40             	mov    0x40(%eax),%eax
439153:	50                   	push   %eax
439154:	8b 45 08             	mov    0x8(%ebp),%eax
439157:	8b 40 c8             	mov    -0x38(%eax),%eax
43915a:	8a 40 39             	mov    0x39(%eax),%al
43915d:	50                   	push   %eax
43915e:	8b 45 08             	mov    0x8(%ebp),%eax
439161:	8b 48 f0             	mov    -0x10(%eax),%ecx
439164:	8b 45 08             	mov    0x8(%ebp),%eax
439167:	8b 50 d8             	mov    -0x28(%eax),%edx
43916a:	8b 45 08             	mov    0x8(%ebp),%eax
43916d:	8b 40 c0             	mov    -0x40(%eax),%eax
439170:	e8 f7 c3 ff ff       	call   0x43556c
439175:	e9 11 02 00 00       	jmp    0x43938b
43917a:	b2 01                	mov    $0x1,%dl
43917c:	a1 e8 ba 41 00       	mov    0x41bae8,%eax
439181:	e8 a2 6e fe ff       	call   0x420028
439186:	8b 55 08             	mov    0x8(%ebp),%edx
439189:	89 42 b4             	mov    %eax,-0x4c(%edx)
43918c:	33 c0                	xor    %eax,%eax
43918e:	55                   	push   %ebp
43918f:	68 76 92 43 00       	push   $0x439276
439194:	64 ff 30             	push   %fs:(%eax)
439197:	64 89 20             	mov    %esp,%fs:(%eax)
43919a:	8b 45 08             	mov    0x8(%ebp),%eax
43919d:	8b 40 b4             	mov    -0x4c(%eax),%eax
4391a0:	b2 01                	mov    $0x1,%dl
4391a2:	8b 08                	mov    (%eax),%ecx
4391a4:	ff 51 3c             	call   *0x3c(%ecx)
4391a7:	68 f8 7f 00 00       	push   $0x7ff8
4391ac:	6a 00                	push   $0x0
4391ae:	e8 39 db fc ff       	call   0x406cec
4391b3:	8b d0                	mov    %eax,%edx
4391b5:	8b 45 08             	mov    0x8(%ebp),%eax
4391b8:	8b 40 b4             	mov    -0x4c(%eax),%eax
4391bb:	e8 58 7f fe ff       	call   0x421118
4391c0:	8b 45 08             	mov    0x8(%ebp),%eax
4391c3:	8b 40 d8             	mov    -0x28(%eax),%eax
4391c6:	8b 40 0c             	mov    0xc(%eax),%eax
4391c9:	8b 40 18             	mov    0x18(%eax),%eax
4391cc:	8b 55 08             	mov    0x8(%ebp),%edx
4391cf:	89 42 b8             	mov    %eax,-0x48(%edx)
4391d2:	8b 45 08             	mov    0x8(%ebp),%eax
4391d5:	8b 40 d8             	mov    -0x28(%eax),%eax
4391d8:	8b 40 0c             	mov    0xc(%eax),%eax
4391db:	ba 12 00 00 ff       	mov    $0xff000012,%edx
4391e0:	e8 d3 38 fe ff       	call   0x41cab8
4391e5:	8b 45 08             	mov    0x8(%ebp),%eax
4391e8:	8b 40 b4             	mov    -0x4c(%eax),%eax
4391eb:	50                   	push   %eax
4391ec:	8b 45 08             	mov    0x8(%ebp),%eax
4391ef:	8b 40 b4             	mov    -0x4c(%eax),%eax
4391f2:	8b 10                	mov    (%eax),%edx
4391f4:	ff 52 20             	call   *0x20(%edx)
4391f7:	8b 55 08             	mov    0x8(%ebp),%edx
4391fa:	8b 52 fc             	mov    -0x4(%edx),%edx
4391fd:	8b 4d 08             	mov    0x8(%ebp),%ecx
439200:	8b 71 f4             	mov    -0xc(%ecx),%esi
439203:	2b d6                	sub    %esi,%edx
439205:	2b d0                	sub    %eax,%edx
439207:	d1 fa                	sar    $1,%edx
439209:	79 03                	jns    0x43920e
43920b:	83 d2 00             	adc    $0x0,%edx
43920e:	8b 45 08             	mov    0x8(%ebp),%eax
439211:	03 d6                	add    %esi,%edx
439213:	42                   	inc    %edx
439214:	52                   	push   %edx
439215:	8b 45 08             	mov    0x8(%ebp),%eax
439218:	8b 40 b4             	mov    -0x4c(%eax),%eax
43921b:	8b 10                	mov    (%eax),%edx
43921d:	ff 52 2c             	call   *0x2c(%edx)
439220:	8b 55 08             	mov    0x8(%ebp),%edx
439223:	8b 52 f8             	mov    -0x8(%edx),%edx
439226:	8b 4d 08             	mov    0x8(%ebp),%ecx
439229:	8b 59 f0             	mov    -0x10(%ecx),%ebx
43922c:	2b d3                	sub    %ebx,%edx
43922e:	2b d0                	sub    %eax,%edx
439230:	d1 fa                	sar    $1,%edx
439232:	79 03                	jns    0x439237
439234:	83 d2 00             	adc    $0x0,%edx
439237:	8b 45 08             	mov    0x8(%ebp),%eax
43923a:	03 d3                	add    %ebx,%edx
43923c:	42                   	inc    %edx
43923d:	8b 45 08             	mov    0x8(%ebp),%eax
439240:	8b 40 d8             	mov    -0x28(%eax),%eax
439243:	59                   	pop    %ecx
439244:	e8 33 43 fe ff       	call   0x41d57c
439249:	8b 45 08             	mov    0x8(%ebp),%eax
43924c:	8b 50 b8             	mov    -0x48(%eax),%edx
43924f:	8b 45 08             	mov    0x8(%ebp),%eax
439252:	8b 40 d8             	mov    -0x28(%eax),%eax
439255:	8b 40 0c             	mov    0xc(%eax),%eax
439258:	e8 5b 38 fe ff       	call   0x41cab8
43925d:	33 c0                	xor    %eax,%eax
43925f:	5a                   	pop    %edx
439260:	59                   	pop    %ecx
439261:	59                   	pop    %ecx
439262:	64 89 10             	mov    %edx,%fs:(%eax)
439265:	68 8b 93 43 00       	push   $0x43938b
43926a:	8b 45 08             	mov    0x8(%ebp),%eax
43926d:	8b 40 b4             	mov    -0x4c(%eax),%eax
439270:	e8 87 a5 fc ff       	call   0x4037fc
439275:	c3                   	ret
439276:	e9 d1 ac fc ff       	jmp    0x403f4c
43927b:	eb ed                	jmp    0x43926a
43927d:	8b 45 08             	mov    0x8(%ebp),%eax
439280:	8b 55 08             	mov    0x8(%ebp),%edx
439283:	8d 70 f0             	lea    -0x10(%eax),%esi
439286:	8d 7a a4             	lea    -0x5c(%edx),%edi
439289:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43928a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43928b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43928c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43928d:	8b 45 08             	mov    0x8(%ebp),%eax
439290:	8b 40 c8             	mov    -0x38(%eax),%eax
439293:	8b 40 4c             	mov    0x4c(%eax),%eax
439296:	8b 10                	mov    (%eax),%edx
439298:	ff 52 2c             	call   *0x2c(%edx)
43929b:	8b 55 08             	mov    0x8(%ebp),%edx
43929e:	8b 52 f8             	mov    -0x8(%edx),%edx
4392a1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4392a4:	2b 51 f0             	sub    -0x10(%ecx),%edx
4392a7:	3b c2                	cmp    %edx,%eax
4392a9:	7d 4e                	jge    0x4392f9
4392ab:	8b 45 08             	mov    0x8(%ebp),%eax
4392ae:	8b 40 c8             	mov    -0x38(%eax),%eax
4392b1:	8b 40 4c             	mov    0x4c(%eax),%eax
4392b4:	8b 10                	mov    (%eax),%edx
4392b6:	ff 52 2c             	call   *0x2c(%edx)
4392b9:	8b 55 08             	mov    0x8(%ebp),%edx
4392bc:	8b 52 f8             	mov    -0x8(%edx),%edx
4392bf:	8b 4d 08             	mov    0x8(%ebp),%ecx
4392c2:	2b 51 f0             	sub    -0x10(%ecx),%edx
4392c5:	2b d0                	sub    %eax,%edx
4392c7:	d1 fa                	sar    $1,%edx
4392c9:	79 03                	jns    0x4392ce
4392cb:	83 d2 00             	adc    $0x0,%edx
4392ce:	8b 45 08             	mov    0x8(%ebp),%eax
4392d1:	8b 40 f8             	mov    -0x8(%eax),%eax
4392d4:	2b c2                	sub    %edx,%eax
4392d6:	40                   	inc    %eax
4392d7:	8b 55 08             	mov    0x8(%ebp),%edx
4392da:	89 42 f8             	mov    %eax,-0x8(%edx)
4392dd:	8b 45 08             	mov    0x8(%ebp),%eax
4392e0:	8b 40 c8             	mov    -0x38(%eax),%eax
4392e3:	8b 40 4c             	mov    0x4c(%eax),%eax
4392e6:	8b 10                	mov    (%eax),%edx
4392e8:	ff 52 2c             	call   *0x2c(%edx)
4392eb:	8b 55 08             	mov    0x8(%ebp),%edx
4392ee:	8b 52 f8             	mov    -0x8(%edx),%edx
4392f1:	2b d0                	sub    %eax,%edx
4392f3:	8b 45 08             	mov    0x8(%ebp),%eax
4392f6:	89 50 f0             	mov    %edx,-0x10(%eax)
4392f9:	8b 45 08             	mov    0x8(%ebp),%eax
4392fc:	8b 40 c8             	mov    -0x38(%eax),%eax
4392ff:	8b 40 4c             	mov    0x4c(%eax),%eax
439302:	8b 10                	mov    (%eax),%edx
439304:	ff 52 20             	call   *0x20(%edx)
439307:	8b 55 08             	mov    0x8(%ebp),%edx
43930a:	8b 52 fc             	mov    -0x4(%edx),%edx
43930d:	8b 4d 08             	mov    0x8(%ebp),%ecx
439310:	2b 51 f4             	sub    -0xc(%ecx),%edx
439313:	3b c2                	cmp    %edx,%eax
439315:	7d 4a                	jge    0x439361
439317:	8b 45 08             	mov    0x8(%ebp),%eax
43931a:	8b 40 c8             	mov    -0x38(%eax),%eax
43931d:	8b 40 4c             	mov    0x4c(%eax),%eax
439320:	8b 10                	mov    (%eax),%edx
439322:	ff 52 20             	call   *0x20(%edx)
439325:	8b 55 08             	mov    0x8(%ebp),%edx
439328:	8b 52 fc             	mov    -0x4(%edx),%edx
43932b:	8b 4d 08             	mov    0x8(%ebp),%ecx
43932e:	2b 51 f4             	sub    -0xc(%ecx),%edx
439331:	2b d0                	sub    %eax,%edx
439333:	d1 fa                	sar    $1,%edx
439335:	79 03                	jns    0x43933a
439337:	83 d2 00             	adc    $0x0,%edx
43933a:	8b 45 08             	mov    0x8(%ebp),%eax
43933d:	03 50 f4             	add    -0xc(%eax),%edx
439340:	42                   	inc    %edx
439341:	8b 45 08             	mov    0x8(%ebp),%eax
439344:	89 50 f4             	mov    %edx,-0xc(%eax)
439347:	8b 45 08             	mov    0x8(%ebp),%eax
43934a:	8b 40 c8             	mov    -0x38(%eax),%eax
43934d:	8b 40 4c             	mov    0x4c(%eax),%eax
439350:	8b 10                	mov    (%eax),%edx
439352:	ff 52 20             	call   *0x20(%edx)
439355:	8b 55 08             	mov    0x8(%ebp),%edx
439358:	03 42 f4             	add    -0xc(%edx),%eax
43935b:	8b 55 08             	mov    0x8(%ebp),%edx
43935e:	89 42 fc             	mov    %eax,-0x4(%edx)
439361:	8b 45 08             	mov    0x8(%ebp),%eax
439364:	8b 40 c8             	mov    -0x38(%eax),%eax
439367:	8b 48 4c             	mov    0x4c(%eax),%ecx
43936a:	8b 45 08             	mov    0x8(%ebp),%eax
43936d:	8d 50 f0             	lea    -0x10(%eax),%edx
439370:	8b 45 08             	mov    0x8(%ebp),%eax
439373:	8b 40 d8             	mov    -0x28(%eax),%eax
439376:	e8 75 43 fe ff       	call   0x41d6f0
43937b:	8b 45 08             	mov    0x8(%ebp),%eax
43937e:	8b 55 08             	mov    0x8(%ebp),%edx
439381:	8d 70 a4             	lea    -0x5c(%eax),%esi
439384:	8d 7a f0             	lea    -0x10(%edx),%edi
439387:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439388:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439389:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43938a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43938b:	8b 45 08             	mov    0x8(%ebp),%eax
43938e:	8b 40 c8             	mov    -0x38(%eax),%eax
439391:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
439395:	74 6b                	je     0x439402
439397:	8b 45 08             	mov    0x8(%ebp),%eax
43939a:	ff 48 f8             	decl   -0x8(%eax)
43939d:	8b 45 08             	mov    0x8(%ebp),%eax
4393a0:	ff 48 fc             	decl   -0x4(%eax)
4393a3:	eb 5d                	jmp    0x439402
4393a5:	8b 45 08             	mov    0x8(%ebp),%eax