45e84c:	75 1a                	jne    0x45e868
45e84e:	8b 44 8a f8          	mov    -0x8(%edx,%ecx,4),%eax
45e852:	8b cb                	mov    %ebx,%ecx
45e854:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45e858:	50                   	push   %eax
45e859:	6a 70                	push   $0x70
45e85b:	e8 fc e3 fe ff       	call   0x44cc5c
45e860:	83 c8 ff             	or     $0xffffffff,%eax
45e863:	e9 e8 02 00 00       	jmp    0x45eb50
45e868:	56                   	push   %esi
45e869:	8d 4d d8             	lea    -0x28(%ebp),%ecx
45e86c:	e8 6b e4 ff ff       	call   0x45ccdc
45e871:	8b 17                	mov    (%edi),%edx
45e873:	8b 7d dc             	mov    -0x24(%ebp),%edi
45e876:	33 f6                	xor    %esi,%esi
45e878:	6a 40                	push   $0x40
45e87a:	8b ce                	mov    %esi,%ecx
45e87c:	c7 45 08 47 00 00 00 	movl   $0x47,0x8(%ebp)
45e883:	5b                   	pop    %ebx
45e884:	8b 04 97             	mov    (%edi,%edx,4),%eax
45e887:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45e88b:	66 3b 45 08          	cmp    0x8(%ebp),%ax
45e88f:	75 03                	jne    0x45e894
45e891:	41                   	inc    %ecx
45e892:	eb 12                	jmp    0x45e8a6
45e894:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
45e898:	75 03                	jne    0x45e89d
45e89a:	49                   	dec    %ecx
45e89b:	eb 09                	jmp    0x45e8a6
45e89d:	66 3b c3             	cmp    %bx,%ax
45e8a0:	75 04                	jne    0x45e8a6
45e8a2:	85 c9                	test   %ecx,%ecx
45e8a4:	74 07                	je     0x45e8ad
45e8a6:	85 c9                	test   %ecx,%ecx
45e8a8:	78 03                	js     0x45e8ad
45e8aa:	42                   	inc    %edx
45e8ab:	eb d7                	jmp    0x45e884
45e8ad:	8b 7d 0c             	mov    0xc(%ebp),%edi
45e8b0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45e8b3:	52                   	push   %edx
45e8b4:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45e8b7:	50                   	push   %eax
45e8b8:	57                   	push   %edi
45e8b9:	8d 45 d8             	lea    -0x28(%ebp),%eax
45e8bc:	50                   	push   %eax
45e8bd:	89 75 c4             	mov    %esi,-0x3c(%ebp)
45e8c0:	89 75 cc             	mov    %esi,-0x34(%ebp)
45e8c3:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
45e8ca:	e8 61 15 fb ff       	call   0x40fe30
45e8cf:	85 c0                	test   %eax,%eax
45e8d1:	79 08                	jns    0x45e8db
45e8d3:	83 ce ff             	or     $0xffffffff,%esi
45e8d6:	e9 63 02 00 00       	jmp    0x45eb3e
45e8db:	8b 0f                	mov    (%edi),%ecx
45e8dd:	8b 55 dc             	mov    -0x24(%ebp),%edx
45e8e0:	6a 40                	push   $0x40
45e8e2:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45e8e5:	5b                   	pop    %ebx
45e8e6:	66 39 58 08          	cmp    %bx,0x8(%eax)
45e8ea:	75 03                	jne    0x45e8ef
45e8ec:	49                   	dec    %ecx
45e8ed:	eb 03                	jmp    0x45e8f2
45e8ef:	83 c1 fe             	add    $0xfffffffe,%ecx
45e8f2:	6a 47                	push   $0x47
45e8f4:	58                   	pop    %eax
45e8f5:	89 0f                	mov    %ecx,(%edi)
45e8f7:	8b 4c 8a 04          	mov    0x4(%edx,%ecx,4),%ecx
45e8fb:	50                   	push   %eax
45e8fc:	e8 fb d2 fa ff       	call   0x40bbfc
45e901:	83 4d 0c ff          	orl    $0xffffffff,0xc(%ebp)
45e905:	6a 0d                	push   $0xd
45e907:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e90a:	e8 d5 ec fa ff       	call   0x40d5e4
45e90f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
45e912:	84 c0                	test   %al,%al
45e914:	74 54                	je     0x45e96a
45e916:	83 c8 ff             	or     $0xffffffff,%eax
45e919:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
45e91d:	33 c0                	xor    %eax,%eax
45e91f:	6a 01                	push   $0x1
45e921:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45e924:	66 89 45 f2          	mov    %ax,-0xe(%ebp)
45e928:	e8 cf d2 fa ff       	call   0x40bbfc
45e92d:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e930:	e8 59 bd fe ff       	call   0x44a68e
45e935:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45e938:	89 45 e8             	mov    %eax,-0x18(%ebp)
45e93b:	8d 45 e8             	lea    -0x18(%ebp),%eax
45e93e:	50                   	push   %eax
45e93f:	8b 07                	mov    (%edi),%eax
45e941:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
45e944:	e8 29 b2 fe ff       	call   0x449b72
45e949:	ff 75 10             	push   0x10(%ebp)
45e94c:	8d 45 d8             	lea    -0x28(%ebp),%eax
45e94f:	57                   	push   %edi
45e950:	50                   	push   %eax
45e951:	6a 01                	push   $0x1
45e953:	8b cb                	mov    %ebx,%ecx
45e955:	e8 86 5c fb ff       	call   0x4145e0
45e95a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45e95d:	89 45 0c             	mov    %eax,0xc(%ebp)
45e960:	e8 90 ef fb ff       	call   0x41d8f5
45e965:	e9 65 01 00 00       	jmp    0x45eacf
45e96a:	6a 0e                	push   $0xe
45e96c:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e96f:	e8 70 ec fa ff       	call   0x40d5e4
45e974:	84 c0                	test   %al,%al
45e976:	74 4f                	je     0x45e9c7
45e978:	8b 07                	mov    (%edi),%eax
45e97a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45e97d:	6a 34                	push   $0x34
45e97f:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
45e982:	e8 75 d2 fa ff       	call   0x40bbfc
45e987:	8b 0f                	mov    (%edi),%ecx
45e989:	8b 45 dc             	mov    -0x24(%ebp),%eax
45e98c:	8b 34 88             	mov    (%eax,%ecx,4),%esi
45e98f:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45e992:	50                   	push   %eax
45e993:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e996:	e8 02 bd fe ff       	call   0x44a69d
45e99b:	50                   	push   %eax
45e99c:	8b ce                	mov    %esi,%ecx
45e99e:	e8 d1 d2 fa ff       	call   0x40bc74
45e9a3:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45e9a6:	e8 8c e1 fa ff       	call   0x40cb37
45e9ab:	8d 45 0f             	lea    0xf(%ebp),%eax
45e9ae:	50                   	push   %eax
45e9af:	ff 75 10             	push   0x10(%ebp)
45e9b2:	8d 45 d8             	lea    -0x28(%ebp),%eax
45e9b5:	57                   	push   %edi
45e9b6:	50                   	push   %eax
45e9b7:	6a 01                	push   $0x1
45e9b9:	8b cb                	mov    %ebx,%ecx
45e9bb:	e8 40 48 fb ff       	call   0x413200
45e9c0:	33 f6                	xor    %esi,%esi
45e9c2:	e9 0b 01 00 00       	jmp    0x45ead2
45e9c7:	6a 04                	push   $0x4
45e9c9:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e9cc:	e8 13 ec fa ff       	call   0x40d5e4
45e9d1:	84 c0                	test   %al,%al
45e9d3:	0f 84 fd 00 00 00    	je     0x45ead6
45e9d9:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e9dc:	e8 8b a9 fa ff       	call   0x40936c
45e9e1:	8b 4d cc             	mov    -0x34(%ebp),%ecx
45e9e4:	8b 01                	mov    (%ecx),%eax
45e9e6:	89 45 b4             	mov    %eax,-0x4c(%ebp)
45e9e9:	8b 41 04             	mov    0x4(%ecx),%eax
45e9ec:	89 45 b8             	mov    %eax,-0x48(%ebp)
45e9ef:	8b 41 08             	mov    0x8(%ecx),%eax
45e9f2:	89 45 bc             	mov    %eax,-0x44(%ebp)
45e9f5:	8b 41 0c             	mov    0xc(%ecx),%eax
45e9f8:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45e9fb:	ff 00                	incl   (%eax)
45e9fd:	89 45 c0             	mov    %eax,-0x40(%ebp)
45ea00:	e8 f5 d3 fa ff       	call   0x40bdfa
45ea05:	ff 75 b8             	push   -0x48(%ebp)
45ea08:	ff 75 b4             	push   -0x4c(%ebp)
45ea0b:	ff 15 60 d6 48 00    	call   *0x48d660
45ea11:	8b 0d 04 21 4c 00    	mov    0x4c2104,%ecx
45ea17:	ff 75 b4             	push   -0x4c(%ebp)
45ea1a:	8b 01                	mov    (%ecx),%eax
45ea1c:	ff 50 04             	call   *0x4(%eax)
45ea1f:	89 45 f8             	mov    %eax,-0x8(%ebp)
45ea22:	85 c0                	test   %eax,%eax
45ea24:	7e 4c                	jle    0x45ea72
45ea26:	83 c8 ff             	or     $0xffffffff,%eax
45ea29:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
45ea2d:	33 c0                	xor    %eax,%eax
45ea2f:	6a 01                	push   $0x1
45ea31:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45ea34:	66 89 45 f2          	mov    %ax,-0xe(%ebp)
45ea38:	e8 bf d1 fa ff       	call   0x40bbfc
45ea3d:	8b 45 f8             	mov    -0x8(%ebp),%eax
45ea40:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45ea43:	89 45 e8             	mov    %eax,-0x18(%ebp)
45ea46:	8d 45 e8             	lea    -0x18(%ebp),%eax
45ea49:	50                   	push   %eax
45ea4a:	8b 07                	mov    (%edi),%eax
45ea4c:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
45ea4f:	e8 1e b1 fe ff       	call   0x449b72
45ea54:	ff 75 10             	push   0x10(%ebp)
45ea57:	8d 45 d8             	lea    -0x28(%ebp),%eax
45ea5a:	57                   	push   %edi
45ea5b:	50                   	push   %eax
45ea5c:	6a 01                	push   $0x1
45ea5e:	8b cb                	mov    %ebx,%ecx
45ea60:	e8 7b 5b fb ff       	call   0x4145e0
45ea65:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45ea68:	89 45 0c             	mov    %eax,0xc(%ebp)
45ea6b:	e8 85 ee fb ff       	call   0x41d8f5
45ea70:	eb 55                	jmp    0x45eac7
45ea72:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45ea75:	e8 f2 a8 fa ff       	call   0x40936c
45ea7a:	ff 75 cc             	push   -0x34(%ebp)
45ea7d:	8b cb                	mov    %ebx,%ecx
45ea7f:	e8 26 32 fa ff       	call   0x401caa
45ea84:	85 c0                	test   %eax,%eax
45ea86:	74 3f                	je     0x45eac7
45ea88:	8b 07                	mov    (%edi),%eax
45ea8a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45ea8d:	6a 34                	push   $0x34
45ea8f:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
45ea92:	e8 65 d1 fa ff       	call   0x40bbfc
45ea97:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45ea9a:	e8 cd a8 fa ff       	call   0x40936c
45ea9f:	8b 07                	mov    (%edi),%eax
45eaa1:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45eaa4:	ff 75 cc             	push   -0x34(%ebp)
45eaa7:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
45eaaa:	e8 c5 d1 fa ff       	call   0x40bc74
45eaaf:	8d 45 0f             	lea    0xf(%ebp),%eax
45eab2:	50                   	push   %eax
45eab3:	ff 75 10             	push   0x10(%ebp)
45eab6:	8d 45 d8             	lea    -0x28(%ebp),%eax
45eab9:	57                   	push   %edi
45eaba:	50                   	push   %eax
45eabb:	6a 01                	push   $0x1
45eabd:	8b cb                	mov    %ebx,%ecx
45eabf:	e8 3c 47 fb ff       	call   0x413200
45eac4:	89 45 0c             	mov    %eax,0xc(%ebp)
45eac7:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45eaca:	e8 68 e0 fa ff       	call   0x40cb37
45eacf:	8b 45 0c             	mov    0xc(%ebp),%eax
45ead2:	85 c0                	test   %eax,%eax
45ead4:	79 68                	jns    0x45eb3e
45ead6:	8b 55 dc             	mov    -0x24(%ebp),%edx
45ead9:	8b 07                	mov    (%edi),%eax
45eadb:	6a 7f                	push   $0x7f
45eadd:	8b 04 82             	mov    (%edx,%eax,4),%eax
45eae0:	5a                   	pop    %edx
45eae1:	8b ce                	mov    %esi,%ecx
45eae3:	66 39 50 08          	cmp    %dx,0x8(%eax)
45eae7:	74 31                	je     0x45eb1a
45eae9:	ff 07                	incl   (%edi)
45eaeb:	8b 17                	mov    (%edi),%edx
45eaed:	8b 45 dc             	mov    -0x24(%ebp),%eax
45eaf0:	8b 04 90             	mov    (%eax,%edx,4),%eax
45eaf3:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45eaf7:	66 3b 45 08          	cmp    0x8(%ebp),%ax
45eafb:	75 03                	jne    0x45eb00
45eafd:	41                   	inc    %ecx
45eafe:	eb 07                	jmp    0x45eb07
45eb00:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
45eb04:	75 01                	jne    0x45eb07
45eb06:	49                   	dec    %ecx
45eb07:	85 c9                	test   %ecx,%ecx
45eb09:	78 0a                	js     0x45eb15
45eb0b:	6a 7f                	push   $0x7f
45eb0d:	5a                   	pop    %edx
45eb0e:	66 3b c2             	cmp    %dx,%ax
45eb11:	75 d6                	jne    0x45eae9
45eb13:	eb 05                	jmp    0x45eb1a
45eb15:	8d 42 01             	lea    0x1(%edx),%eax
45eb18:	89 07                	mov    %eax,(%edi)
45eb1a:	8b 03                	mov    (%ebx),%eax
45eb1c:	56                   	push   %esi
45eb1d:	8b 48 04             	mov    0x4(%eax),%ecx
45eb20:	68 ad de 00 00       	push   $0xdead
45eb25:	03 cb                	add    %ebx,%ecx
45eb27:	e8 20 e4 fe ff       	call   0x44cf4c
45eb2c:	8b 03                	mov    (%ebx),%eax
45eb2e:	56                   	push   %esi
45eb2f:	8b 48 04             	mov    0x4(%eax),%ecx
45eb32:	68 ef be 00 00       	push   $0xbeef
45eb37:	03 cb                	add    %ebx,%ecx
45eb39:	e8 e3 47 fa ff       	call   0x403321
45eb3e:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45eb41:	e8 da 40 fb ff       	call   0x412c20
45eb46:	8d 4d d8             	lea    -0x28(%ebp),%ecx
45eb49:	e8 c3 63 fa ff       	call   0x404f11
45eb4e:	8b c6                	mov    %esi,%eax
45eb50:	5f                   	pop    %edi
45eb51:	5e                   	pop    %esi
45eb52:	5b                   	pop    %ebx
45eb53:	c9                   	leave
45eb54:	c2 0c 00             	ret    $0xc
45eb57:	55                   	push   %ebp
45eb58:	8b ec                	mov    %esp,%ebp
45eb5a:	56                   	push   %esi
45eb5b:	8b f1                	mov    %ecx,%esi
45eb5d:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
45eb61:	74 11                	je     0x45eb74
45eb63:	ff 75 08             	push   0x8(%ebp)
45eb66:	8b 4e 04             	mov    0x4(%esi),%ecx
45eb69:	e8 40 f1 fa ff       	call   0x40dcae
45eb6e:	c6 46 09 00          	movb   $0x0,0x9(%esi)
45eb72:	eb 2b                	jmp    0x45eb9f
45eb74:	57                   	push   %edi
45eb75:	6a 18                	push   $0x18
45eb77:	e8 6e 09 fc ff       	call   0x41f4ea
45eb7c:	8b f8                	mov    %eax,%edi
45eb7e:	59                   	pop    %ecx
45eb7f:	85 ff                	test   %edi,%edi
45eb81:	74 10                	je     0x45eb93
45eb83:	ff 75 08             	push   0x8(%ebp)
45eb86:	83 67 08 00          	andl   $0x0,0x8(%edi)
45eb8a:	8b cf                	mov    %edi,%ecx
45eb8c:	e8 8f 2b fb ff       	call   0x411720
45eb91:	eb 02                	jmp    0x45eb95
45eb93:	33 ff                	xor    %edi,%edi
45eb95:	8b 46 04             	mov    0x4(%esi),%eax
45eb98:	89 47 10             	mov    %eax,0x10(%edi)
45eb9b:	89 7e 04             	mov    %edi,0x4(%esi)
45eb9e:	5f                   	pop    %edi
45eb9f:	ff 06                	incl   (%esi)
45eba1:	5e                   	pop    %esi
45eba2:	5d                   	pop    %ebp
45eba3:	c2 04 00             	ret    $0x4
45eba6:	80 79 09 00          	cmpb   $0x0,0x9(%ecx)
45ebaa:	8b 41 04             	mov    0x4(%ecx),%eax
45ebad:	74 03                	je     0x45ebb2
45ebaf:	8b 40 10             	mov    0x10(%eax),%eax
45ebb2:	c3                   	ret
45ebb3:	56                   	push   %esi
45ebb4:	8b f1                	mov    %ecx,%esi
45ebb6:	e8 fb 00 00 00       	call   0x45ecb6
45ebbb:	84 c0                	test   %al,%al
45ebbd:	74 05                	je     0x45ebc4
45ebbf:	8b 46 08             	mov    0x8(%esi),%eax
45ebc2:	5e                   	pop    %esi
45ebc3:	c3                   	ret
45ebc4:	b8 43 ca 44 00       	mov    $0x44ca43,%eax
45ebc9:	5e                   	pop    %esi
45ebca:	c3                   	ret
45ebcb:	55                   	push   %ebp
45ebcc:	8b ec                	mov    %esp,%ebp
45ebce:	81 ec 24 01 00 00    	sub    $0x124,%esp
45ebd4:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
45ebd8:	75 07                	jne    0x45ebe1
45ebda:	68 00 dc 49 00       	push   $0x49dc00
45ebdf:	eb 36                	jmp    0x45ec17
45ebe1:	8d 45 dc             	lea    -0x24(%ebp),%eax
45ebe4:	50                   	push   %eax
45ebe5:	e8 59 00 00 00       	call   0x45ec43
45ebea:	8d 45 dc             	lea    -0x24(%ebp),%eax
45ebed:	50                   	push   %eax
45ebee:	ff 75 0c             	push   0xc(%ebp)
45ebf1:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
45ebf7:	68 80 00 00 00       	push   $0x80
45ebfc:	50                   	push   %eax
45ebfd:	e8 de 71 fc ff       	call   0x425de0
45ec02:	83 c4 10             	add    $0x10,%esp
45ec05:	85 c0                	test   %eax,%eax
45ec07:	75 07                	jne    0x45ec10
45ec09:	66 89 85 dc fe ff ff 	mov    %ax,-0x124(%ebp)
45ec10:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
45ec16:	50                   	push   %eax
45ec17:	8b 4d 08             	mov    0x8(%ebp),%ecx
45ec1a:	e8 fa e1 fa ff       	call   0x40ce19
45ec1f:	8b 45 08             	mov    0x8(%ebp),%eax