41ceeb:	73 47                	jae    0x41cf34
41ceed:	ff 76 1c             	push   0x1c(%esi)
41cef0:	ff 15 a8 98 43 00    	call   *0x4398a8
41cef6:	50                   	push   %eax
41cef7:	e8 c4 d3 ff ff       	call   0x41a2c0
41cefc:	85 c0                	test   %eax,%eax
41cefe:	74 13                	je     0x41cf13
41cf00:	ff 75 14             	push   0x14(%ebp)
41cf03:	8b 10                	mov    (%eax),%edx
41cf05:	8b c8                	mov    %eax,%ecx
41cf07:	ff 75 10             	push   0x10(%ebp)
41cf0a:	57                   	push   %edi
41cf0b:	53                   	push   %ebx
41cf0c:	ff 52 14             	call   *0x14(%edx)
41cf0f:	85 c0                	test   %eax,%eax
41cf11:	75 1c                	jne    0x41cf2f
41cf13:	e8 a4 10 00 00       	call   0x41dfbc
41cf18:	85 c0                	test   %eax,%eax
41cf1a:	74 18                	je     0x41cf34
41cf1c:	ff 75 14             	push   0x14(%ebp)
41cf1f:	8b 10                	mov    (%eax),%edx
41cf21:	8b c8                	mov    %eax,%ecx
41cf23:	ff 75 10             	push   0x10(%ebp)
41cf26:	57                   	push   %edi
41cf27:	53                   	push   %ebx
41cf28:	ff 52 14             	call   *0x14(%edx)
41cf2b:	85 c0                	test   %eax,%eax
41cf2d:	74 05                	je     0x41cf34
41cf2f:	6a 01                	push   $0x1
41cf31:	58                   	pop    %eax
41cf32:	eb 02                	jmp    0x41cf36
41cf34:	33 c0                	xor    %eax,%eax
41cf36:	5f                   	pop    %edi
41cf37:	5e                   	pop    %esi
41cf38:	5b                   	pop    %ebx
41cf39:	5d                   	pop    %ebp
41cf3a:	c2 10 00             	ret    $0x10
41cf3d:	56                   	push   %esi
41cf3e:	8b f1                	mov    %ecx,%esi
41cf40:	e8 14 00 00 00       	call   0x41cf59
41cf45:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
41cf4a:	74 07                	je     0x41cf53
41cf4c:	56                   	push   %esi
41cf4d:	e8 eb fd ff ff       	call   0x41cd3d
41cf52:	59                   	pop    %ecx
41cf53:	8b c6                	mov    %esi,%eax
41cf55:	5e                   	pop    %esi
41cf56:	c2 04 00             	ret    $0x4
41cf59:	b8 e8 79 42 00       	mov    $0x4279e8,%eax
41cf5e:	e8 cd ec fe ff       	call   0x40bc30
41cf63:	51                   	push   %ecx
41cf64:	56                   	push   %esi
41cf65:	8b f1                	mov    %ecx,%esi
41cf67:	89 75 f0             	mov    %esi,-0x10(%ebp)
41cf6a:	c7 06 5c aa 42 00    	movl   $0x42aa5c,(%esi)
41cf70:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41cf74:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
41cf78:	74 05                	je     0x41cf7f
41cf7a:	e8 e5 db ff ff       	call   0x41ab64
41cf7f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41cf83:	8b ce                	mov    %esi,%ecx
41cf85:	e8 17 da ff ff       	call   0x41a9a1
41cf8a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41cf8d:	5e                   	pop    %esi
41cf8e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41cf95:	c9                   	leave
41cf96:	c3                   	ret
41cf97:	b8 04 7a 42 00       	mov    $0x427a04,%eax
41cf9c:	e8 8f ec fe ff       	call   0x40bc30
41cfa1:	51                   	push   %ecx
41cfa2:	83 ec 30             	sub    $0x30,%esp
41cfa5:	53                   	push   %ebx
41cfa6:	56                   	push   %esi
41cfa7:	57                   	push   %edi
41cfa8:	33 db                	xor    %ebx,%ebx
41cfaa:	39 5d 10             	cmp    %ebx,0x10(%ebp)
41cfad:	8b f9                	mov    %ecx,%edi
41cfaf:	89 65 f0             	mov    %esp,-0x10(%ebp)
41cfb2:	89 7d dc             	mov    %edi,-0x24(%ebp)
41cfb5:	75 0b                	jne    0x41cfc2
41cfb7:	e8 8b 77 00 00       	call   0x424747
41cfbc:	8b 40 08             	mov    0x8(%eax),%eax
41cfbf:	89 45 10             	mov    %eax,0x10(%ebp)
41cfc2:	e8 80 77 00 00       	call   0x424747
41cfc7:	8b b0 38 10 00 00    	mov    0x1038(%eax),%esi
41cfcd:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41cfd0:	89 75 d8             	mov    %esi,-0x28(%ebp)
41cfd3:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41cfd6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41cfd9:	e8 69 77 00 00       	call   0x424747
41cfde:	f6 40 18 10          	testb  $0x10,0x18(%eax)
41cfe2:	75 07                	jne    0x41cfeb
41cfe4:	6a 10                	push   $0x10
41cfe6:	e8 ed f9 ff ff       	call   0x41c9d8
41cfeb:	3b f3                	cmp    %ebx,%esi
41cfed:	74 23                	je     0x41d012
41cfef:	8b 07                	mov    (%edi),%eax
41cff1:	8d 4d cc             	lea    -0x34(%ebp),%ecx
41cff4:	51                   	push   %ecx
41cff5:	8b cf                	mov    %edi,%ecx
41cff7:	ff 90 bc 00 00 00    	call   *0xbc(%eax)
41cffd:	3b c3                	cmp    %ebx,%eax
41cfff:	74 16                	je     0x41d017
41d001:	ff 75 08             	push   0x8(%ebp)
41d004:	8b 06                	mov    (%esi),%eax
41d006:	8d 4d cc             	lea    -0x34(%ebp),%ecx
41d009:	51                   	push   %ecx
41d00a:	8b ce                	mov    %esi,%ecx
41d00c:	ff 50 10             	call   *0x10(%eax)
41d00f:	89 45 08             	mov    %eax,0x8(%ebp)
41d012:	39 5d 08             	cmp    %ebx,0x8(%ebp)
41d015:	75 07                	jne    0x41d01e
41d017:	33 c0                	xor    %eax,%eax
41d019:	e9 86 01 00 00       	jmp    0x41d1a4
41d01e:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41d021:	e8 66 19 00 00       	call   0x41e98c
41d026:	8d 45 e8             	lea    -0x18(%ebp),%eax
41d029:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41d02d:	50                   	push   %eax
41d02e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41d031:	50                   	push   %eax
41d032:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41d035:	ff 75 08             	push   0x8(%ebp)
41d038:	e8 44 22 00 00       	call   0x41f281
41d03d:	83 c4 0c             	add    $0xc,%esp
41d040:	33 c9                	xor    %ecx,%ecx
41d042:	3b c3                	cmp    %ebx,%eax
41d044:	0f 94 c1             	sete   %cl
41d047:	8b f1                	mov    %ecx,%esi
41d049:	3b f3                	cmp    %ebx,%esi
41d04b:	75 51                	jne    0x41d09e
41d04d:	6a 2a                	push   $0x2a
41d04f:	ff 15 74 99 43 00    	call   *0x439974
41d055:	3b c3                	cmp    %ebx,%eax
41d057:	74 41                	je     0x41d09a
41d059:	68 3c ab 42 00       	push   $0x42ab3c
41d05e:	ff 75 e4             	push   -0x1c(%ebp)
41d061:	e8 6a f6 fe ff       	call   0x40c6d0
41d066:	f7 d8                	neg    %eax
41d068:	1b c0                	sbb    %eax,%eax
41d06a:	59                   	pop    %ecx
41d06b:	40                   	inc    %eax
41d06c:	59                   	pop    %ecx
41d06d:	84 c0                	test   %al,%al
41d06f:	75 1c                	jne    0x41d08d
41d071:	68 34 ab 42 00       	push   $0x42ab34
41d076:	ff 75 e4             	push   -0x1c(%ebp)
41d079:	e8 52 f6 fe ff       	call   0x40c6d0
41d07e:	f7 d8                	neg    %eax
41d080:	1b c0                	sbb    %eax,%eax
41d082:	59                   	pop    %ecx
41d083:	40                   	inc    %eax
41d084:	59                   	pop    %ecx
41d085:	84 c0                	test   %al,%al
41d087:	75 04                	jne    0x41d08d
41d089:	33 f6                	xor    %esi,%esi
41d08b:	eb 0d                	jmp    0x41d09a
41d08d:	66 83 7d e8 08       	cmpw   $0x8,-0x18(%ebp)
41d092:	6a 01                	push   $0x1
41d094:	5e                   	pop    %esi
41d095:	75 03                	jne    0x41d09a
41d097:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41d09a:	3b f3                	cmp    %ebx,%esi
41d09c:	74 31                	je     0x41d0cf
41d09e:	ff 75 08             	push   0x8(%ebp)
41d0a1:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41d0a4:	e8 28 20 00 00       	call   0x41f0d1
41d0a9:	ff 75 e8             	push   -0x18(%ebp)
41d0ac:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41d0af:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41d0b3:	e8 4f 23 00 00       	call   0x41f407
41d0b8:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41d0bb:	e8 ae 20 00 00       	call   0x41f16e
41d0c0:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41d0c3:	89 45 ec             	mov    %eax,-0x14(%ebp)
41d0c6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41d0ca:	e8 91 20 00 00       	call   0x41f160
41d0cf:	39 5d ec             	cmp    %ebx,-0x14(%ebp)
41d0d2:	74 0c                	je     0x41d0e0
41d0d4:	ff 75 ec             	push   -0x14(%ebp)
41d0d7:	ff 15 28 97 43 00    	call   *0x439728
41d0dd:	89 45 08             	mov    %eax,0x8(%ebp)
41d0e0:	83 4f 2c ff          	orl    $0xffffffff,0x2c(%edi)
41d0e4:	83 4f 24 10          	orl    $0x10,0x24(%edi)
41d0e8:	57                   	push   %edi
41d0e9:	e8 e3 d6 ff ff       	call   0x41a7d1
41d0ee:	8b 45 0c             	mov    0xc(%ebp),%eax
41d0f1:	3b c3                	cmp    %ebx,%eax
41d0f3:	75 04                	jne    0x41d0f9
41d0f5:	33 c0                	xor    %eax,%eax
41d0f7:	eb 03                	jmp    0x41d0fc
41d0f9:	8b 40 1c             	mov    0x1c(%eax),%eax
41d0fc:	53                   	push   %ebx
41d0fd:	68 df cd 41 00       	push   $0x41cddf
41d102:	50                   	push   %eax
41d103:	ff 75 08             	push   0x8(%ebp)
41d106:	ff 75 10             	push   0x10(%ebp)
41d109:	ff 15 78 99 43 00    	call   *0x439978
41d10f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41d112:	89 45 e0             	mov    %eax,-0x20(%ebp)
41d115:	88 5d fc             	mov    %bl,-0x4(%ebp)
41d118:	e8 83 19 00 00       	call   0x41eaa0
41d11d:	eb 1a                	jmp    0x41d139
41d11f:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
41d122:	e8 f7 1b 00 00       	call   0x41ed1e
41d127:	8b 45 dc             	mov    -0x24(%ebp),%eax
41d12a:	83 48 2c ff          	orl    $0xffffffff,0x2c(%eax)
41d12e:	b8 34 d1 41 00       	mov    $0x41d134,%eax
41d133:	c3                   	ret
41d134:	8b 7d dc             	mov    -0x24(%ebp),%edi
41d137:	33 db                	xor    %ebx,%ebx
41d139:	8b 4d d8             	mov    -0x28(%ebp),%ecx
41d13c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41d140:	3b cb                	cmp    %ebx,%ecx
41d142:	74 19                	je     0x41d15d
41d144:	8b 01                	mov    (%ecx),%eax
41d146:	8d 55 cc             	lea    -0x34(%ebp),%edx
41d149:	52                   	push   %edx
41d14a:	ff 50 14             	call   *0x14(%eax)
41d14d:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
41d150:	74 0b                	je     0x41d15d
41d152:	8b 07                	mov    (%edi),%eax
41d154:	53                   	push   %ebx
41d155:	8b cf                	mov    %edi,%ecx
41d157:	ff 90 bc 00 00 00    	call   *0xbc(%eax)
41d15d:	e8 bb d6 ff ff       	call   0x41a81d
41d162:	85 c0                	test   %eax,%eax
41d164:	75 0a                	jne    0x41d170
41d166:	8b 07                	mov    (%edi),%eax
41d168:	8b cf                	mov    %edi,%ecx
41d16a:	ff 90 ac 00 00 00    	call   *0xac(%eax)
41d170:	8b 75 e0             	mov    -0x20(%ebp),%esi
41d173:	3b f3                	cmp    %ebx,%esi
41d175:	74 0f                	je     0x41d186
41d177:	f6 47 24 10          	testb  $0x10,0x24(%edi)
41d17b:	75 09                	jne    0x41d186
41d17d:	56                   	push   %esi
41d17e:	ff 15 e4 98 43 00    	call   *0x4398e4
41d184:	33 f6                	xor    %esi,%esi
41d186:	39 5d ec             	cmp    %ebx,-0x14(%ebp)
41d189:	74 12                	je     0x41d19d
41d18b:	ff 75 ec             	push   -0x14(%ebp)
41d18e:	ff 15 30 97 43 00    	call   *0x439730
41d194:	ff 75 ec             	push   -0x14(%ebp)
41d197:	ff 15 24 97 43 00    	call   *0x439724
41d19d:	33 c0                	xor    %eax,%eax
41d19f:	3b f3                	cmp    %ebx,%esi
41d1a1:	0f 95 c0             	setne  %al
41d1a4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41d1a7:	5f                   	pop    %edi
41d1a8:	5e                   	pop    %esi
41d1a9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41d1b0:	5b                   	pop    %ebx
41d1b1:	c9                   	leave
41d1b2:	c2 0c 00             	ret    $0xc
41d1b5:	33 c0                	xor    %eax,%eax
41d1b7:	c2 04 00             	ret    $0x4
41d1ba:	8b 44 24 04          	mov    0x4(%esp),%eax
41d1be:	6a 01                	push   $0x1
41d1c0:	89 41 58             	mov    %eax,0x58(%ecx)
41d1c3:	58                   	pop    %eax
41d1c4:	c2 04 00             	ret    $0x4
41d1c7:	56                   	push   %esi
41d1c8:	57                   	push   %edi
41d1c9:	8b f1                	mov    %ecx,%esi
41d1cb:	e8 87 cd ff ff       	call   0x419f57
41d1d0:	8d 7e 3c             	lea    0x3c(%esi),%edi
41d1d3:	6a 20                	push   $0x20
41d1d5:	6a 00                	push   $0x0
41d1d7:	57                   	push   %edi
41d1d8:	c7 06 5c aa 42 00    	movl   $0x42aa5c,(%esi)
41d1de:	e8 2d f2 fe ff       	call   0x40c410
41d1e3:	8b 44 24 1c          	mov    0x1c(%esp),%eax
41d1e7:	83 c4 0c             	add    $0xc,%esp
41d1ea:	89 46 50             	mov    %eax,0x50(%esi)
41d1ed:	8b 44 24 0c          	mov    0xc(%esp),%eax
41d1f1:	0f b7 c8             	movzwl %ax,%ecx
41d1f4:	89 07                	mov    %eax,(%edi)
41d1f6:	89 4e 40             	mov    %ecx,0x40(%esi)
41d1f9:	8b c6                	mov    %esi,%eax
41d1fb:	5f                   	pop    %edi
41d1fc:	5e                   	pop    %esi
41d1fd:	c2 08 00             	ret    $0x8
41d200:	56                   	push   %esi
41d201:	57                   	push   %edi
41d202:	8b f1                	mov    %ecx,%esi
41d204:	e8 3e 75 00 00       	call   0x424747
41d209:	8b 40 04             	mov    0x4(%eax),%eax
41d20c:	6a 00                	push   $0x0
41d20e:	8b c8                	mov    %eax,%ecx
41d210:	e8 b8 3a 00 00       	call   0x420ccd
41d215:	8d 46 54             	lea    0x54(%esi),%eax
41d218:	50                   	push   %eax
41d219:	ff 76 50             	push   0x50(%esi)
41d21c:	e8 26 e7 ff ff       	call   0x41b947
41d221:	56                   	push   %esi
41d222:	8b f8                	mov    %eax,%edi
41d224:	e8 a8 d5 ff ff       	call   0x41a7d1
41d229:	85 ff                	test   %edi,%edi
41d22b:	75 04                	jne    0x41d231
41d22d:	33 c0                	xor    %eax,%eax
41d22f:	eb 03                	jmp    0x41d234
41d231:	8b 47 1c             	mov    0x1c(%edi),%eax
41d234:	5f                   	pop    %edi
41d235:	5e                   	pop    %esi
41d236:	c3                   	ret
41d237:	56                   	push   %esi
41d238:	8b f1                	mov    %ecx,%esi
41d23a:	e8 de d5 ff ff       	call   0x41a81d
41d23f:	8b ce                	mov    %esi,%ecx
41d241:	e8 f7 d0 ff ff       	call   0x41a33d
41d246:	ff 76 54             	push   0x54(%esi)
41d249:	ff 15 80 99 43 00    	call   *0x439980
41d24f:	85 c0                	test   %eax,%eax
41d251:	74 0b                	je     0x41d25e
41d253:	6a 01                	push   $0x1
41d255:	ff 76 54             	push   0x54(%esi)
41d258:	ff 15 6c 99 43 00    	call   *0x43996c
41d25e:	83 66 54 00          	andl   $0x0,0x54(%esi)
41d262:	e8 e0 74 00 00       	call   0x424747
41d267:	8b 40 04             	mov    0x4(%eax),%eax
41d26a:	6a 01                	push   $0x1
41d26c:	8b c8                	mov    %eax,%ecx
41d26e:	e8 5a 3a 00 00       	call   0x420ccd
41d273:	5e                   	pop    %esi
41d274:	c3                   	ret
41d275:	b8 10 7a 42 00       	mov    $0x427a10,%eax
41d27a:	e8 b1 e9 fe ff       	call   0x40bc30
41d27f:	51                   	push   %ecx
41d280:	83 ec 14             	sub    $0x14,%esp
41d283:	53                   	push   %ebx
41d284:	56                   	push   %esi
41d285:	8b f1                	mov    %ecx,%esi
41d287:	57                   	push   %edi
41d288:	89 65 f0             	mov    %esp,-0x10(%ebp)
41d28b:	89 75 e8             	mov    %esi,-0x18(%ebp)
41d28e:	8b 46 48             	mov    0x48(%esi),%eax
41d291:	8b 7e 44             	mov    0x44(%esi),%edi
41d294:	89 45 ec             	mov    %eax,-0x14(%ebp)
41d297:	e8 ab 74 00 00       	call   0x424747
41d29c:	83 7e 40 00          	cmpl   $0x0,0x40(%esi)
41d2a0:	8b 58 0c             	mov    0xc(%eax),%ebx
41d2a3:	74 1e                	je     0x41d2c3
41d2a5:	e8 9d 74 00 00       	call   0x424747
41d2aa:	8b 58 0c             	mov    0xc(%eax),%ebx
41d2ad:	6a 05                	push   $0x5
41d2af:	ff 76 40             	push   0x40(%esi)
41d2b2:	53                   	push   %ebx
41d2b3:	ff 15 64 97 43 00    	call   *0x439764
41d2b9:	50                   	push   %eax