43cf58:	83 c4 20             	add    $0x20,%esp
43cf5b:	5f                   	pop    %edi
43cf5c:	5e                   	pop    %esi
43cf5d:	5b                   	pop    %ebx
43cf5e:	c3                   	ret
43cf5f:	90                   	nop
43cf60:	56                   	push   %esi
43cf61:	66 be ee ff          	mov    $0xffee,%si
43cf65:	e8 7e 66 fc ff       	call   0x4035e8
43cf6a:	5e                   	pop    %esi
43cf6b:	c3                   	ret
43cf6c:	b0 01                	mov    $0x1,%al
43cf6e:	c3                   	ret
43cf6f:	90                   	nop
43cf70:	53                   	push   %ebx
43cf71:	51                   	push   %ecx
43cf72:	c6 04 24 01          	movb   $0x1,(%esp)
43cf76:	66 83 b8 c2 00 00 00 	cmpw   $0x0,0xc2(%eax)
43cf7d:	00
43cf7e:	74 18                	je     0x43cf98
43cf80:	51                   	push   %ecx
43cf81:	8d 4c 24 04          	lea    0x4(%esp),%ecx
43cf85:	51                   	push   %ecx
43cf86:	8b ca                	mov    %edx,%ecx
43cf88:	8b d8                	mov    %eax,%ebx
43cf8a:	8b d0                	mov    %eax,%edx
43cf8c:	8b 83 c4 00 00 00    	mov    0xc4(%ebx),%eax
43cf92:	ff 93 c0 00 00 00    	call   *0xc0(%ebx)
43cf98:	8a 04 24             	mov    (%esp),%al
43cf9b:	5a                   	pop    %edx
43cf9c:	5b                   	pop    %ebx
43cf9d:	c3                   	ret
43cf9e:	8b c0                	mov    %eax,%eax
43cfa0:	53                   	push   %ebx
43cfa1:	56                   	push   %esi
43cfa2:	83 c4 f0             	add    $0xfffffff0,%esp
43cfa5:	89 4c 24 04          	mov    %ecx,0x4(%esp)
43cfa9:	89 14 24             	mov    %edx,(%esp)
43cfac:	8b f0                	mov    %eax,%esi
43cfae:	80 7e 5b 05          	cmpb   $0x5,0x5b(%esi)
43cfb2:	74 4d                	je     0x43d001
43cfb4:	8b 04 24             	mov    (%esp),%eax
43cfb7:	8b 00                	mov    (%eax),%eax
43cfb9:	89 44 24 08          	mov    %eax,0x8(%esp)
43cfbd:	8b 44 24 04          	mov    0x4(%esp),%eax
43cfc1:	8b 00                	mov    (%eax),%eax
43cfc3:	89 44 24 0c          	mov    %eax,0xc(%esp)
43cfc7:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
43cfcb:	8d 54 24 08          	lea    0x8(%esp),%edx
43cfcf:	8b c6                	mov    %esi,%eax
43cfd1:	8b 18                	mov    (%eax),%ebx
43cfd3:	ff 53 34             	call   *0x34(%ebx)
43cfd6:	8a 56 5b             	mov    0x5b(%esi),%dl
43cfd9:	8b ca                	mov    %edx,%ecx
43cfdb:	84 c9                	test   %cl,%cl
43cfdd:	74 08                	je     0x43cfe7
43cfdf:	80 c1 fd             	add    $0xfd,%cl
43cfe2:	80 e9 02             	sub    $0x2,%cl
43cfe5:	73 09                	jae    0x43cff0
43cfe7:	8b 0c 24             	mov    (%esp),%ecx
43cfea:	8b 5c 24 08          	mov    0x8(%esp),%ebx
43cfee:	89 19                	mov    %ebx,(%ecx)
43cff0:	80 ea 03             	sub    $0x3,%dl
43cff3:	73 0e                	jae    0x43d003
43cff5:	8b 54 24 04          	mov    0x4(%esp),%edx
43cff9:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
43cffd:	89 0a                	mov    %ecx,(%edx)
43cfff:	eb 02                	jmp    0x43d003
43d001:	b0 01                	mov    $0x1,%al
43d003:	83 c4 10             	add    $0x10,%esp
43d006:	5e                   	pop    %esi
43d007:	5b                   	pop    %ebx
43d008:	c3                   	ret
43d009:	8d 40 00             	lea    0x0(%eax),%eax
43d00c:	53                   	push   %ebx
43d00d:	56                   	push   %esi
43d00e:	57                   	push   %edi
43d00f:	51                   	push   %ecx
43d010:	89 0c 24             	mov    %ecx,(%esp)
43d013:	8b fa                	mov    %edx,%edi
43d015:	8b f0                	mov    %eax,%esi
43d017:	8b 0c 24             	mov    (%esp),%ecx
43d01a:	8b d7                	mov    %edi,%edx
43d01c:	8b c6                	mov    %esi,%eax
43d01e:	8b 18                	mov    (%eax),%ebx
43d020:	ff 53 30             	call   *0x30(%ebx)
43d023:	8b d8                	mov    %eax,%ebx
43d025:	84 db                	test   %bl,%bl
43d027:	74 0c                	je     0x43d035
43d029:	8b 0c 24             	mov    (%esp),%ecx
43d02c:	8b d7                	mov    %edi,%edx
43d02e:	8b c6                	mov    %esi,%eax
43d030:	e8 97 00 00 00       	call   0x43d0cc
43d035:	8b c3                	mov    %ebx,%eax
43d037:	5a                   	pop    %edx
43d038:	5f                   	pop    %edi
43d039:	5e                   	pop    %esi
43d03a:	5b                   	pop    %ebx
43d03b:	c3                   	ret
43d03c:	55                   	push   %ebp
43d03d:	8b ec                	mov    %esp,%ebp
43d03f:	53                   	push   %ebx
43d040:	66 83 b8 ca 00 00 00 	cmpw   $0x0,0xca(%eax)
43d047:	00
43d048:	74 1b                	je     0x43d065
43d04a:	51                   	push   %ecx
43d04b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43d04e:	51                   	push   %ecx
43d04f:	8b 4d 08             	mov    0x8(%ebp),%ecx
43d052:	51                   	push   %ecx
43d053:	8b ca                	mov    %edx,%ecx
43d055:	8b d8                	mov    %eax,%ebx
43d057:	8b d0                	mov    %eax,%edx
43d059:	8b 83 cc 00 00 00    	mov    0xcc(%ebx),%eax
43d05f:	ff 93 c8 00 00 00    	call   *0xc8(%ebx)
43d065:	5b                   	pop    %ebx
43d066:	5d                   	pop    %ebp
43d067:	c2 08 00             	ret    $0x8
43d06a:	8b c0                	mov    %eax,%eax
43d06c:	53                   	push   %ebx
43d06d:	56                   	push   %esi
43d06e:	83 c4 f8             	add    $0xfffffff8,%esp
43d071:	8b da                	mov    %edx,%ebx
43d073:	8b f0                	mov    %eax,%esi
43d075:	53                   	push   %ebx
43d076:	e8 45 9c fc ff       	call   0x406cc0
43d07b:	8b cc                	mov    %esp,%ecx
43d07d:	8b d3                	mov    %ebx,%edx
43d07f:	8b c6                	mov    %esi,%eax
43d081:	e8 c6 ea ff ff       	call   0x43bb4c
43d086:	8b 04 24             	mov    (%esp),%eax
43d089:	89 03                	mov    %eax,(%ebx)
43d08b:	8b 44 24 04          	mov    0x4(%esp),%eax
43d08f:	89 43 04             	mov    %eax,0x4(%ebx)
43d092:	59                   	pop    %ecx
43d093:	5a                   	pop    %edx
43d094:	5e                   	pop    %esi
43d095:	5b                   	pop    %ebx
43d096:	c3                   	ret
43d097:	90                   	nop
43d098:	56                   	push   %esi
43d099:	f6 40 50 04          	testb  $0x4,0x50(%eax)
43d09d:	74 22                	je     0x43d0c1
43d09f:	8b 32                	mov    (%edx),%esi
43d0a1:	81 fe 04 02 00 00    	cmp    $0x204,%esi
43d0a7:	74 1c                	je     0x43d0c5
43d0a9:	81 fe 05 02 00 00    	cmp    $0x205,%esi
43d0af:	74 14                	je     0x43d0c5
43d0b1:	81 fe 00 02 00 00    	cmp    $0x200,%esi
43d0b7:	74 0c                	je     0x43d0c5
43d0b9:	81 fe 06 02 00 00    	cmp    $0x206,%esi
43d0bf:	74 04                	je     0x43d0c5
43d0c1:	33 c0                	xor    %eax,%eax
43d0c3:	5e                   	pop    %esi
43d0c4:	c3                   	ret
43d0c5:	b0 01                	mov    $0x1,%al
43d0c7:	5e                   	pop    %esi
43d0c8:	c3                   	ret
43d0c9:	8d 40 00             	lea    0x0(%eax),%eax
43d0cc:	53                   	push   %ebx
43d0cd:	56                   	push   %esi
43d0ce:	57                   	push   %edi
43d0cf:	83 c4 f0             	add    $0xfffffff0,%esp
43d0d2:	8b f9                	mov    %ecx,%edi
43d0d4:	8b f2                	mov    %edx,%esi
43d0d6:	8b 50 74             	mov    0x74(%eax),%edx
43d0d9:	8b 52 14             	mov    0x14(%edx),%edx
43d0dc:	85 d2                	test   %edx,%edx
43d0de:	76 05                	jbe    0x43d0e5
43d0e0:	89 14 24             	mov    %edx,(%esp)
43d0e3:	eb 05                	jmp    0x43d0ea
43d0e5:	33 d2                	xor    %edx,%edx
43d0e7:	89 14 24             	mov    %edx,(%esp)
43d0ea:	8b 50 74             	mov    0x74(%eax),%edx
43d0ed:	8b 52 10             	mov    0x10(%edx),%edx
43d0f0:	85 d2                	test   %edx,%edx
43d0f2:	76 06                	jbe    0x43d0fa
43d0f4:	89 54 24 04          	mov    %edx,0x4(%esp)
43d0f8:	eb 06                	jmp    0x43d100
43d0fa:	33 d2                	xor    %edx,%edx
43d0fc:	89 54 24 04          	mov    %edx,0x4(%esp)
43d100:	8b 50 74             	mov    0x74(%eax),%edx
43d103:	8b 52 0c             	mov    0xc(%edx),%edx
43d106:	85 d2                	test   %edx,%edx
43d108:	76 06                	jbe    0x43d110
43d10a:	89 54 24 08          	mov    %edx,0x8(%esp)
43d10e:	eb 06                	jmp    0x43d116
43d110:	33 d2                	xor    %edx,%edx
43d112:	89 54 24 08          	mov    %edx,0x8(%esp)
43d116:	8b 50 74             	mov    0x74(%eax),%edx
43d119:	8b 52 08             	mov    0x8(%edx),%edx
43d11c:	85 d2                	test   %edx,%edx
43d11e:	76 06                	jbe    0x43d126
43d120:	89 54 24 0c          	mov    %edx,0xc(%esp)
43d124:	eb 06                	jmp    0x43d12c
43d126:	33 d2                	xor    %edx,%edx
43d128:	89 54 24 0c          	mov    %edx,0xc(%esp)
43d12c:	8d 54 24 08          	lea    0x8(%esp),%edx
43d130:	52                   	push   %edx
43d131:	8d 54 24 10          	lea    0x10(%esp),%edx
43d135:	52                   	push   %edx
43d136:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
43d13a:	8d 54 24 08          	lea    0x8(%esp),%edx
43d13e:	8b 18                	mov    (%eax),%ebx
43d140:	ff 53 38             	call   *0x38(%ebx)
43d143:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
43d148:	7e 10                	jle    0x43d15a
43d14a:	8b 06                	mov    (%esi),%eax
43d14c:	3b 44 24 08          	cmp    0x8(%esp),%eax
43d150:	7e 08                	jle    0x43d15a
43d152:	8b 44 24 08          	mov    0x8(%esp),%eax
43d156:	89 06                	mov    %eax,(%esi)
43d158:	eb 12                	jmp    0x43d16c
43d15a:	83 3c 24 00          	cmpl   $0x0,(%esp)
43d15e:	7e 0c                	jle    0x43d16c
43d160:	8b 06                	mov    (%esi),%eax
43d162:	3b 04 24             	cmp    (%esp),%eax
43d165:	7d 05                	jge    0x43d16c
43d167:	8b 04 24             	mov    (%esp),%eax
43d16a:	89 06                	mov    %eax,(%esi)
43d16c:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
43d171:	7e 10                	jle    0x43d183
43d173:	8b 07                	mov    (%edi),%eax
43d175:	3b 44 24 0c          	cmp    0xc(%esp),%eax
43d179:	7e 08                	jle    0x43d183
43d17b:	8b 44 24 0c          	mov    0xc(%esp),%eax
43d17f:	89 07                	mov    %eax,(%edi)
43d181:	eb 15                	jmp    0x43d198
43d183:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
43d188:	7e 0e                	jle    0x43d198
43d18a:	8b 07                	mov    (%edi),%eax
43d18c:	3b 44 24 04          	cmp    0x4(%esp),%eax
43d190:	7d 06                	jge    0x43d198
43d192:	8b 44 24 04          	mov    0x4(%esp),%eax
43d196:	89 07                	mov    %eax,(%edi)
43d198:	83 c4 10             	add    $0x10,%esp
43d19b:	5f                   	pop    %edi
43d19c:	5e                   	pop    %esi
43d19d:	5b                   	pop    %ebx
43d19e:	c3                   	ret
43d19f:	90                   	nop
43d1a0:	55                   	push   %ebp
43d1a1:	8b ec                	mov    %esp,%ebp
43d1a3:	83 c4 f0             	add    $0xfffffff0,%esp
43d1a6:	53                   	push   %ebx
43d1a7:	89 55 f0             	mov    %edx,-0x10(%ebp)
43d1aa:	89 4d f4             	mov    %ecx,-0xc(%ebp)
43d1ad:	8b 55 08             	mov    0x8(%ebp),%edx
43d1b0:	89 55 f8             	mov    %edx,-0x8(%ebp)
43d1b3:	33 d2                	xor    %edx,%edx
43d1b5:	89 55 fc             	mov    %edx,-0x4(%ebp)
43d1b8:	85 c0                	test   %eax,%eax
43d1ba:	74 0b                	je     0x43d1c7
43d1bc:	8d 55 f0             	lea    -0x10(%ebp),%edx
43d1bf:	8b d8                	mov    %eax,%ebx
43d1c1:	8b 43 3c             	mov    0x3c(%ebx),%eax
43d1c4:	ff 53 38             	call   *0x38(%ebx)
43d1c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
43d1ca:	5b                   	pop    %ebx
43d1cb:	8b e5                	mov    %ebp,%esp
43d1cd:	5d                   	pop    %ebp
43d1ce:	c2 04 00             	ret    $0x4
43d1d1:	8d 40 00             	lea    0x0(%eax),%eax
43d1d4:	53                   	push   %ebx
43d1d5:	8b d8                	mov    %eax,%ebx
43d1d7:	8b c3                	mov    %ebx,%eax
43d1d9:	8b 10                	mov    (%eax),%edx
43d1db:	ff 52 54             	call   *0x54(%edx)
43d1de:	84 c0                	test   %al,%al
43d1e0:	74 14                	je     0x43d1f6
43d1e2:	8b 43 4c             	mov    0x4c(%ebx),%eax
43d1e5:	89 83 ac 00 00 00    	mov    %eax,0xac(%ebx)
43d1eb:	8b 43 48             	mov    0x48(%ebx),%eax
43d1ee:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
43d1f4:	5b                   	pop    %ebx
43d1f5:	c3                   	ret
43d1f6:	83 bb a0 00 00 00 00 	cmpl   $0x0,0xa0(%ebx)
43d1fd:	74 43                	je     0x43d242
43d1ff:	80 bb 9c 00 00 00 02 	cmpb   $0x2,0x9c(%ebx)
43d206:	74 0e                	je     0x43d216
43d208:	8b 83 a0 00 00 00    	mov    0xa0(%ebx),%eax
43d20e:	8a 40 5b             	mov    0x5b(%eax),%al
43d211:	48                   	dec    %eax
43d212:	2c 02                	sub    $0x2,%al
43d214:	73 0b                	jae    0x43d221
43d216:	8b 43 4c             	mov    0x4c(%ebx),%eax
43d219:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
43d21f:	eb 21                	jmp    0x43d242
43d221:	80 bb 9c 00 00 00 01 	cmpb   $0x1,0x9c(%ebx)
43d228:	74 0f                	je     0x43d239
43d22a:	8b 83 a0 00 00 00    	mov    0xa0(%ebx),%eax
43d230:	8a 40 5b             	mov    0x5b(%eax),%al
43d233:	04 fd                	add    $0xfd,%al
43d235:	2c 02                	sub    $0x2,%al
43d237:	73 09                	jae    0x43d242
43d239:	8b 43 48             	mov    0x48(%ebx),%eax
43d23c:	89 83 b0 00 00 00    	mov    %eax,0xb0(%ebx)
43d242:	5b                   	pop    %ebx
43d243:	c3                   	ret
43d244:	8b 0a                	mov    (%edx),%ecx
43d246:	89 48 40             	mov    %ecx,0x40(%eax)
43d249:	8b 4a 04             	mov    0x4(%edx),%ecx
43d24c:	89 48 44             	mov    %ecx,0x44(%eax)
43d24f:	8b 4a 08             	mov    0x8(%edx),%ecx
43d252:	2b 0a                	sub    (%edx),%ecx
43d254:	89 48 48             	mov    %ecx,0x48(%eax)
43d257:	8b 4a 0c             	mov    0xc(%edx),%ecx
43d25a:	2b 4a 04             	sub    0x4(%edx),%ecx
43d25d:	89 48 4c             	mov    %ecx,0x4c(%eax)
43d260:	e8 f7 e3 ff ff       	call   0x43b65c
43d265:	c3                   	ret
43d266:	8b c0                	mov    %eax,%eax
43d268:	c3                   	ret
43d269:	8d 40 00             	lea    0x0(%eax),%eax
43d26c:	55                   	push   %ebp
43d26d:	8b ec                	mov    %esp,%ebp
43d26f:	81 c4 ec fe ff ff    	add    $0xfffffeec,%esp
43d275:	53                   	push   %ebx
43d276:	56                   	push   %esi
43d277:	57                   	push   %edi
43d278:	8b da                	mov    %edx,%ebx
43d27a:	8b f0                	mov    %eax,%esi
43d27c:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
43d280:	74 36                	je     0x43d2b8
43d282:	8b c6                	mov    %esi,%eax
43d284:	e8 c3 5a 01 00       	call   0x452d4c
43d289:	89 45 ec             	mov    %eax,-0x14(%ebp)
43d28c:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
43d290:	74 26                	je     0x43d2b8
43d292:	8b 45 ec             	mov    -0x14(%ebp),%eax
43d295:	83 b8 50 02 00 00 00 	cmpl   $0x0,0x250(%eax)
43d29c:	74 1a                	je     0x43d2b8
43d29e:	8b cb                	mov    %ebx,%ecx
43d2a0:	8b 45 ec             	mov    -0x14(%ebp),%eax
43d2a3:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
43d2a9:	8b d6                	mov    %esi,%edx
43d2ab:	8b 38                	mov    (%eax),%edi
43d2ad:	ff 57 24             	call   *0x24(%edi)
43d2b0:	84 c0                	test   %al,%al
43d2b2:	0f 85 3f 01 00 00    	jne    0x43d3f7
43d2b8:	8b 03                	mov    (%ebx),%eax
43d2ba:	3d 00 01 00 00       	cmp    $0x100,%eax
43d2bf:	72 37                	jb     0x43d2f8
43d2c1:	3d 08 01 00 00       	cmp    $0x108,%eax
43d2c6:	77 30                	ja     0x43d2f8
43d2c8:	8b c6                	mov    %esi,%eax
43d2ca:	e8 7d 5a 01 00       	call   0x452d4c
43d2cf:	89 45 ec             	mov    %eax,-0x14(%ebp)
43d2d2:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
43d2d6:	0f 84 12 01 00 00    	je     0x43d3ee