405db8:	50                   	push   %eax
405db9:	6a 00                	push   $0x0
405dbb:	6a 00                	push   $0x0
405dbd:	ff 31                	push   (%ecx)
405dbf:	ff 15 d8 f1 48 00    	call   *0x48f1d8
405dc5:	8b 45 f8             	mov    -0x8(%ebp),%eax
405dc8:	8b 55 fc             	mov    -0x4(%ebp),%edx
405dcb:	8b e5                	mov    %ebp,%esp
405dcd:	5d                   	pop    %ebp
405dce:	c3                   	ret
405dcf:	56                   	push   %esi
405dd0:	8b f1                	mov    %ecx,%esi
405dd2:	57                   	push   %edi
405dd3:	33 ff                	xor    %edi,%edi
405dd5:	39 3e                	cmp    %edi,(%esi)
405dd7:	75 0f                	jne    0x405de8
405dd9:	89 7e 08             	mov    %edi,0x8(%esi)
405ddc:	89 7e 0c             	mov    %edi,0xc(%esi)
405ddf:	89 7e 10             	mov    %edi,0x10(%esi)
405de2:	89 7e 14             	mov    %edi,0x14(%esi)
405de5:	5f                   	pop    %edi
405de6:	5e                   	pop    %esi
405de7:	c3                   	ret
405de8:	83 3e ff             	cmpl   $0xffffffff,(%esi)
405deb:	74 ec                	je     0x405dd9
405ded:	ff 36                	push   (%esi)
405def:	ff 15 5c f3 48 00    	call   *0x48f35c
405df5:	89 3e                	mov    %edi,(%esi)
405df7:	eb e0                	jmp    0x405dd9
405df9:	55                   	push   %ebp
405dfa:	8b ec                	mov    %esp,%ebp
405dfc:	53                   	push   %ebx
405dfd:	56                   	push   %esi
405dfe:	8b f1                	mov    %ecx,%esi
405e00:	33 db                	xor    %ebx,%ebx
405e02:	83 0e ff             	orl    $0xffffffff,(%esi)
405e05:	f7 45 0c 00 80 00 00 	testl  $0x8000,0xc(%ebp)
405e0c:	0f 84 6f 83 03 00    	je     0x43e181
405e12:	53                   	push   %ebx
405e13:	68 80 00 00 00       	push   $0x80
405e18:	6a 03                	push   $0x3
405e1a:	53                   	push   %ebx
405e1b:	6a 07                	push   $0x7
405e1d:	68 00 00 00 80       	push   $0x80000000
405e22:	8b 45 08             	mov    0x8(%ebp),%eax
405e25:	ff 30                	push   (%eax)
405e27:	ff 15 d4 f1 48 00    	call   *0x48f1d4
405e2d:	89 06                	mov    %eax,(%esi)
405e2f:	83 3e ff             	cmpl   $0xffffffff,(%esi)
405e32:	74 03                	je     0x405e37
405e34:	33 db                	xor    %ebx,%ebx
405e36:	43                   	inc    %ebx
405e37:	5e                   	pop    %esi
405e38:	8a c3                	mov    %bl,%al
405e3a:	5b                   	pop    %ebx
405e3b:	5d                   	pop    %ebp
405e3c:	c2 08 00             	ret    $0x8
405e3f:	55                   	push   %ebp
405e40:	8b ec                	mov    %esp,%ebp
405e42:	51                   	push   %ecx
405e43:	51                   	push   %ecx
405e44:	53                   	push   %ebx
405e45:	56                   	push   %esi
405e46:	57                   	push   %edi
405e47:	8b f1                	mov    %ecx,%esi
405e49:	6a 02                	push   $0x2
405e4b:	6a 00                	push   $0x0
405e4d:	6a 00                	push   $0x0
405e4f:	8b 46 10             	mov    0x10(%esi),%eax
405e52:	8b 5e 14             	mov    0x14(%esi),%ebx
405e55:	89 75 f8             	mov    %esi,-0x8(%ebp)
405e58:	89 45 fc             	mov    %eax,-0x4(%ebp)
405e5b:	e8 ee fd ff ff       	call   0x405c4e
405e60:	8b 7e 10             	mov    0x10(%esi),%edi
405e63:	8b 4d f8             	mov    -0x8(%ebp),%ecx
405e66:	8b 76 14             	mov    0x14(%esi),%esi
405e69:	6a 00                	push   $0x0
405e6b:	53                   	push   %ebx
405e6c:	ff 75 fc             	push   -0x4(%ebp)
405e6f:	e8 da fd ff ff       	call   0x405c4e
405e74:	8b c7                	mov    %edi,%eax
405e76:	8b d6                	mov    %esi,%edx
405e78:	5f                   	pop    %edi
405e79:	5e                   	pop    %esi
405e7a:	5b                   	pop    %ebx
405e7b:	8b e5                	mov    %ebp,%esp
405e7d:	5d                   	pop    %ebp
405e7e:	c3                   	ret
405e7f:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
405e83:	66 83 f8 40          	cmp    $0x40,%ax
405e87:	7c 0a                	jl     0x405e93
405e89:	66 83 f8 5f          	cmp    $0x5f,%ax
405e8d:	7f 04                	jg     0x405e93
405e8f:	33 c0                	xor    %eax,%eax
405e91:	40                   	inc    %eax
405e92:	c3                   	ret
405e93:	66 85 c0             	test   %ax,%ax
405e96:	74 f7                	je     0x405e8f
405e98:	66 83 f8 30          	cmp    $0x30,%ax
405e9c:	74 f1                	je     0x405e8f
405e9e:	33 c0                	xor    %eax,%eax
405ea0:	c3                   	ret
405ea1:	55                   	push   %ebp
405ea2:	8b ec                	mov    %esp,%ebp
405ea4:	56                   	push   %esi
405ea5:	8b f1                	mov    %ecx,%esi
405ea7:	0f b7 46 08          	movzwl 0x8(%esi),%eax
405eab:	66 83 f8 30          	cmp    $0x30,%ax
405eaf:	7c 0c                	jl     0x405ebd
405eb1:	66 83 f8 3f          	cmp    $0x3f,%ax
405eb5:	7f 06                	jg     0x405ebd
405eb7:	8b 0e                	mov    (%esi),%ecx
405eb9:	85 c9                	test   %ecx,%ecx
405ebb:	75 32                	jne    0x405eef
405ebd:	6a 10                	push   $0x10
405ebf:	e8 32 b1 01 00       	call   0x420ff6
405ec4:	8b d0                	mov    %eax,%edx
405ec6:	59                   	pop    %ecx
405ec7:	85 d2                	test   %edx,%edx
405ec9:	74 2c                	je     0x405ef7
405ecb:	8b 45 08             	mov    0x8(%ebp),%eax
405ece:	8b 08                	mov    (%eax),%ecx
405ed0:	89 0a                	mov    %ecx,(%edx)
405ed2:	8b 48 04             	mov    0x4(%eax),%ecx
405ed5:	89 4a 04             	mov    %ecx,0x4(%edx)
405ed8:	8b 48 08             	mov    0x8(%eax),%ecx
405edb:	89 4a 08             	mov    %ecx,0x8(%edx)
405ede:	8b 40 0c             	mov    0xc(%eax),%eax
405ee1:	89 42 0c             	mov    %eax,0xc(%edx)
405ee4:	ff 00                	incl   (%eax)
405ee6:	89 16                	mov    %edx,(%esi)
405ee8:	8b c6                	mov    %esi,%eax
405eea:	5e                   	pop    %esi
405eeb:	5d                   	pop    %ebp
405eec:	c2 04 00             	ret    $0x4
405eef:	51                   	push   %ecx
405ef0:	e8 48 1c 00 00       	call   0x407b3d
405ef5:	eb c6                	jmp    0x405ebd
405ef7:	33 d2                	xor    %edx,%edx
405ef9:	eb eb                	jmp    0x405ee6
405efb:	e8 8a 00 00 00       	call   0x405f8a
405f00:	84 c0                	test   %al,%al
405f02:	75 01                	jne    0x405f05
405f04:	c3                   	ret
405f05:	8b 09                	mov    (%ecx),%ecx
405f07:	85 c9                	test   %ecx,%ecx
405f09:	74 f9                	je     0x405f04
405f0b:	51                   	push   %ecx
405f0c:	e8 2c 1c 00 00       	call   0x407b3d
405f11:	c3                   	ret
405f12:	55                   	push   %ebp
405f13:	8b ec                	mov    %esp,%ebp
405f15:	53                   	push   %ebx
405f16:	56                   	push   %esi
405f17:	8b f1                	mov    %ecx,%esi
405f19:	33 db                	xor    %ebx,%ebx
405f1b:	6a 3f                	push   $0x3f
405f1d:	59                   	pop    %ecx
405f1e:	6a 30                	push   $0x30
405f20:	0f b7 46 08          	movzwl 0x8(%esi),%eax
405f24:	5a                   	pop    %edx
405f25:	66 3b c1             	cmp    %cx,%ax
405f28:	7f 05                	jg     0x405f2f
405f2a:	66 3b c2             	cmp    %dx,%ax
405f2d:	7d 27                	jge    0x405f56
405f2f:	8b 45 08             	mov    0x8(%ebp),%eax
405f32:	66 89 46 08          	mov    %ax,0x8(%esi)
405f36:	66 3b c1             	cmp    %cx,%ax
405f39:	7e 14                	jle    0x405f4f
405f3b:	66 83 f8 10          	cmp    $0x10,%ax
405f3f:	74 44                	je     0x405f85
405f41:	66 83 f8 20          	cmp    $0x20,%ax
405f45:	74 38                	je     0x405f7f
405f47:	89 1e                	mov    %ebx,(%esi)
405f49:	5e                   	pop    %esi
405f4a:	5b                   	pop    %ebx
405f4b:	5d                   	pop    %ebp
405f4c:	c2 04 00             	ret    $0x4
405f4f:	66 3b c2             	cmp    %dx,%ax
405f52:	7d f3                	jge    0x405f47
405f54:	eb e5                	jmp    0x405f3b
405f56:	57                   	push   %edi
405f57:	8b 3e                	mov    (%esi),%edi
405f59:	85 ff                	test   %edi,%edi
405f5b:	74 1d                	je     0x405f7a
405f5d:	8b 47 0c             	mov    0xc(%edi),%eax
405f60:	ff 08                	decl   (%eax)
405f62:	8b 47 0c             	mov    0xc(%edi),%eax
405f65:	39 18                	cmp    %ebx,(%eax)
405f67:	0f 84 6f 82 03 00    	je     0x43e1dc
405f6d:	57                   	push   %edi
405f6e:	e8 f9 b0 01 00       	call   0x42106c
405f73:	59                   	pop    %ecx
405f74:	6a 3f                	push   $0x3f
405f76:	59                   	pop    %ecx
405f77:	6a 30                	push   $0x30
405f79:	5a                   	pop    %edx
405f7a:	89 1e                	mov    %ebx,(%esi)
405f7c:	5f                   	pop    %edi
405f7d:	eb b0                	jmp    0x405f2f
405f7f:	d9 ee                	fldz
405f81:	dd 1e                	fstpl  (%esi)
405f83:	eb c4                	jmp    0x405f49
405f85:	89 5e 04             	mov    %ebx,0x4(%esi)
405f88:	eb bd                	jmp    0x405f47
405f8a:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
405f8e:	66 83 f8 3f          	cmp    $0x3f,%ax
405f92:	7e 03                	jle    0x405f97
405f94:	32 c0                	xor    %al,%al
405f96:	c3                   	ret
405f97:	66 83 f8 30          	cmp    $0x30,%ax
405f9b:	7c f7                	jl     0x405f94
405f9d:	b0 01                	mov    $0x1,%al
405f9f:	c3                   	ret
405fa0:	55                   	push   %ebp
405fa1:	8b ec                	mov    %esp,%ebp
405fa3:	8b 45 08             	mov    0x8(%ebp),%eax
405fa6:	53                   	push   %ebx
405fa7:	56                   	push   %esi
405fa8:	83 ce ff             	or     $0xffffffff,%esi
405fab:	8b 50 08             	mov    0x8(%eax),%edx
405fae:	57                   	push   %edi
405faf:	85 d2                	test   %edx,%edx
405fb1:	74 14                	je     0x405fc7
405fb3:	8b 58 04             	mov    0x4(%eax),%ebx
405fb6:	8b 4c 93 fc          	mov    -0x4(%ebx,%edx,4),%ecx
405fba:	e8 c0 fe ff ff       	call   0x405e7f
405fbf:	84 c0                	test   %al,%al
405fc1:	0f 84 2b 82 03 00    	je     0x43e1f2
405fc7:	33 f6                	xor    %esi,%esi
405fc9:	5f                   	pop    %edi
405fca:	8b c6                	mov    %esi,%eax
405fcc:	5e                   	pop    %esi
405fcd:	5b                   	pop    %ebx
405fce:	5d                   	pop    %ebp
405fcf:	c2 04 00             	ret    $0x4
405fd2:	55                   	push   %ebp
405fd3:	8b ec                	mov    %esp,%ebp
405fd5:	56                   	push   %esi
405fd6:	57                   	push   %edi
405fd7:	8b 7d 14             	mov    0x14(%ebp),%edi
405fda:	8b cf                	mov    %edi,%ecx
405fdc:	e8 0b 1f 00 00       	call   0x407eec
405fe1:	8b 45 0c             	mov    0xc(%ebp),%eax
405fe4:	8b 00                	mov    (%eax),%eax
405fe6:	8b 4d 08             	mov    0x8(%ebp),%ecx
405fe9:	0f b7 34 41          	movzwl (%ecx,%eax,2),%esi
405fed:	66 83 fe 5a          	cmp    $0x5a,%si
405ff1:	76 1b                	jbe    0x40600e
405ff3:	66 83 fe 61          	cmp    $0x61,%si
405ff7:	72 1d                	jb     0x406016
405ff9:	66 83 fe 7a          	cmp    $0x7a,%si
405ffd:	77 17                	ja     0x406016
405fff:	56                   	push   %esi
406000:	8b cf                	mov    %edi,%ecx
406002:	e8 7d 1a 00 00       	call   0x407a84
406007:	8b 45 0c             	mov    0xc(%ebp),%eax
40600a:	ff 00                	incl   (%eax)
40600c:	eb d6                	jmp    0x405fe4
40600e:	66 83 fe 41          	cmp    $0x41,%si
406012:	73 eb                	jae    0x405fff
406014:	eb dd                	jmp    0x405ff3
406016:	66 83 fe 30          	cmp    $0x30,%si
40601a:	0f 83 9d 00 00 00    	jae    0x4060bd
406020:	66 83 fe 5f          	cmp    $0x5f,%si
406024:	74 d9                	je     0x405fff
406026:	8b cf                	mov    %edi,%ecx
406028:	e8 82 1f 00 00       	call   0x407faf
40602d:	ff 77 04             	push   0x4(%edi)
406030:	ff 37                	push   (%edi)
406032:	ff 15 7c f6 48 00    	call   *0x48f67c
406038:	57                   	push   %edi
406039:	e8 5b 09 00 00       	call   0x406999
40603e:	89 45 0c             	mov    %eax,0xc(%ebp)
406041:	85 c0                	test   %eax,%eax
406043:	78 1d                	js     0x406062
406045:	66 83 fe 20          	cmp    $0x20,%si
406049:	75 2f                	jne    0x40607a
40604b:	6a 00                	push   $0x0
40604d:	8b 75 10             	mov    0x10(%ebp),%esi
406050:	8b ce                	mov    %esi,%ecx
406052:	e8 bb fe ff ff       	call   0x405f12
406057:	8b 45 0c             	mov    0xc(%ebp),%eax
40605a:	89 06                	mov    %eax,(%esi)
40605c:	5f                   	pop    %edi
40605d:	5e                   	pop    %esi
40605e:	5d                   	pop    %ebp
40605f:	c2 10 00             	ret    $0x10
406062:	8b 0d 94 72 4c 00    	mov    0x4c7294,%ecx
406068:	ff 37                	push   (%edi)
40606a:	8b 01                	mov    (%ecx),%eax
40606c:	ff 50 04             	call   *0x4(%eax)
40606f:	89 45 0c             	mov    %eax,0xc(%ebp)
406072:	85 c0                	test   %eax,%eax
406074:	78 32                	js     0x4060a8
406076:	6a 01                	push   $0x1
406078:	eb d3                	jmp    0x40604d
40607a:	66 83 fe 2c          	cmp    $0x2c,%si
40607e:	74 cb                	je     0x40604b
406080:	66 83 fe 29          	cmp    $0x29,%si
406084:	74 c5                	je     0x40604b
406086:	66 83 fe 09          	cmp    $0x9,%si
40608a:	74 bf                	je     0x40604b
40608c:	66 83 fe 3d          	cmp    $0x3d,%si
406090:	74 b9                	je     0x40604b
406092:	66 83 fe 28          	cmp    $0x28,%si
406096:	74 b3                	je     0x40604b
406098:	66 83 fe 5d          	cmp    $0x5d,%si
40609c:	74 ad                	je     0x40604b
40609e:	66 85 f6             	test   %si,%si
4060a1:	74 a8                	je     0x40604b
4060a3:	e9 cc 81 03 00       	jmp    0x43e274
4060a8:	8b 4d 10             	mov    0x10(%ebp),%ecx
4060ab:	6a 34                	push   $0x34
4060ad:	e8 60 fe ff ff       	call   0x405f12
4060b2:	8b 4d 10             	mov    0x10(%ebp),%ecx
4060b5:	57                   	push   %edi
4060b6:	e8 e6 fd ff ff       	call   0x405ea1
4060bb:	eb 9f                	jmp    0x40605c
4060bd:	66 83 fe 39          	cmp    $0x39,%si
4060c1:	0f 86 38 ff ff ff    	jbe    0x405fff
4060c7:	e9 54 ff ff ff       	jmp    0x406020
4060cc:	55                   	push   %ebp
4060cd:	8b ec                	mov    %esp,%ebp
4060cf:	51                   	push   %ecx
4060d0:	51                   	push   %ecx
4060d1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4060d4:	53                   	push   %ebx
4060d5:	56                   	push   %esi
4060d6:	8b 75 0c             	mov    0xc(%ebp),%esi
4060d9:	57                   	push   %edi
4060da:	6a 30                	push   $0x30
4060dc:	5b                   	pop    %ebx
4060dd:	8b 06                	mov    (%esi),%eax
4060df:	6a 39                	push   $0x39
4060e1:	5a                   	pop    %edx
4060e2:	6a 2e                	push   $0x2e
4060e4:	5f                   	pop    %edi
4060e5:	66 39 3c 41          	cmp    %di,(%ecx,%eax,2)
4060e9:	0f 84 ef 01 00 00    	je     0x4062de
4060ef:	8b 7d 14             	mov    0x14(%ebp),%edi
4060f2:	8b cf                	mov    %edi,%ecx
4060f4:	e8 f3 1d 00 00       	call   0x407eec
4060f9:	8b 16                	mov    (%esi),%edx
4060fb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4060fe:	89 55 0c             	mov    %edx,0xc(%ebp)
406101:	66 39 1c 51          	cmp    %bx,(%ecx,%edx,2)
406105:	0f 84 fb 00 00 00    	je     0x406206
40610b:	6a 17                	push   $0x17
40610d:	c6 45 17 00          	movb   $0x0,0x17(%ebp)