40ab13:	ff 15 40 34 42 00    	call   *0x423440
40ab19:	6a ff                	push   $0xffffffff
40ab1b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40ab1e:	ff 15 7c 33 42 00    	call   *0x42337c
40ab24:	eb 0d                	jmp    0x40ab33
40ab26:	c7 45 c8 34 1f 42 00 	movl   $0x421f34,-0x38(%ebp)
40ab2d:	ff 15 40 34 42 00    	call   *0x423440
40ab33:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40ab37:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40ab3a:	ff 15 44 32 42 00    	call   *0x423244
40ab40:	e8 c1 18 01 00       	call   0x41c406
40ab45:	c2 08 00             	ret    $0x8
40ab48:	cc                   	int3
40ab49:	cc                   	int3
40ab4a:	cc                   	int3
40ab4b:	cc                   	int3
40ab4c:	cc                   	int3
40ab4d:	cc                   	int3
40ab4e:	cc                   	int3
40ab4f:	cc                   	int3
40ab50:	8b ff                	mov    %edi,%edi
40ab52:	55                   	push   %ebp
40ab53:	8b ec                	mov    %esp,%ebp
40ab55:	81 ec 14 04 00 00    	sub    $0x414,%esp
40ab5b:	a1 e4 05 42 00       	mov    0x4205e4,%eax
40ab60:	33 c5                	xor    %ebp,%eax
40ab62:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ab65:	56                   	push   %esi
40ab66:	57                   	push   %edi
40ab67:	8b 7d 10             	mov    0x10(%ebp),%edi
40ab6a:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
40ab70:	51                   	push   %ecx
40ab71:	50                   	push   %eax
40ab72:	ff 75 08             	push   0x8(%ebp)
40ab75:	8b cf                	mov    %edi,%ecx
40ab77:	33 f6                	xor    %esi,%esi
40ab79:	e8 12 fc ff ff       	call   0x40a790
40ab7e:	85 c0                	test   %eax,%eax
40ab80:	74 39                	je     0x40abbb
40ab82:	51                   	push   %ecx
40ab83:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40ab89:	8b cf                	mov    %edi,%ecx
40ab8b:	50                   	push   %eax
40ab8c:	ff 75 0c             	push   0xc(%ebp)
40ab8f:	e8 fc fb ff ff       	call   0x40a790
40ab94:	85 c0                	test   %eax,%eax
40ab96:	74 23                	je     0x40abbb
40ab98:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40ab9e:	50                   	push   %eax
40ab9f:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
40aba5:	50                   	push   %eax
40aba6:	ff 15 64 35 42 00    	call   *0x423564
40abac:	83 bf 58 01 00 00 00 	cmpl   $0x0,0x158(%edi)
40abb3:	8b f0                	mov    %eax,%esi
40abb5:	59                   	pop    %ecx
40abb6:	59                   	pop    %ecx
40abb7:	74 02                	je     0x40abbb
40abb9:	f7 de                	neg    %esi
40abbb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40abbe:	8b c6                	mov    %esi,%eax
40abc0:	5f                   	pop    %edi
40abc1:	33 cd                	xor    %ebp,%ecx
40abc3:	5e                   	pop    %esi
40abc4:	e8 57 0a 01 00       	call   0x41b620
40abc9:	c9                   	leave
40abca:	c2 0c 00             	ret    $0xc
40abcd:	cc                   	int3
40abce:	cc                   	int3
40abcf:	cc                   	int3
40abd0:	8b ff                	mov    %edi,%edi
40abd2:	55                   	push   %ebp
40abd3:	8b ec                	mov    %esp,%ebp
40abd5:	56                   	push   %esi
40abd6:	8b 75 10             	mov    0x10(%ebp),%esi
40abd9:	8b ce                	mov    %esi,%ecx
40abdb:	57                   	push   %edi
40abdc:	ff 75 08             	push   0x8(%ebp)
40abdf:	e8 39 fc ff ff       	call   0x40a81d
40abe4:	ff 75 0c             	push   0xc(%ebp)
40abe7:	8b ce                	mov    %esi,%ecx
40abe9:	8b f8                	mov    %eax,%edi
40abeb:	e8 2d fc ff ff       	call   0x40a81d
40abf0:	3b f8                	cmp    %eax,%edi
40abf2:	75 04                	jne    0x40abf8
40abf4:	33 c0                	xor    %eax,%eax
40abf6:	eb 0e                	jmp    0x40ac06
40abf8:	33 c0                	xor    %eax,%eax
40abfa:	85 ff                	test   %edi,%edi
40abfc:	0f 95 c0             	setne  %al
40abff:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40ac06:	83 be 54 01 00 00 00 	cmpl   $0x0,0x154(%esi)
40ac0d:	5f                   	pop    %edi
40ac0e:	5e                   	pop    %esi
40ac0f:	74 02                	je     0x40ac13
40ac11:	f7 d8                	neg    %eax
40ac13:	5d                   	pop    %ebp
40ac14:	c2 0c 00             	ret    $0xc
40ac17:	83 b9 44 01 00 00 00 	cmpl   $0x0,0x144(%ecx)
40ac1e:	8b 81 04 02 00 00    	mov    0x204(%ecx),%eax
40ac24:	74 07                	je     0x40ac2d
40ac26:	68 20 a3 40 00       	push   $0x40a320
40ac2b:	eb 05                	jmp    0x40ac32
40ac2d:	68 90 a3 40 00       	push   $0x40a390
40ac32:	51                   	push   %ecx
40ac33:	68 30 10 00 00       	push   $0x1030
40ac38:	50                   	push   %eax
40ac39:	ff 15 40 34 42 00    	call   *0x423440
40ac3f:	c3                   	ret
40ac40:	8b ff                	mov    %edi,%edi
40ac42:	56                   	push   %esi
40ac43:	57                   	push   %edi
40ac44:	8b f1                	mov    %ecx,%esi
40ac46:	ff 15 90 33 42 00    	call   *0x423390
40ac4c:	33 ff                	xor    %edi,%edi
40ac4e:	57                   	push   %edi
40ac4f:	57                   	push   %edi
40ac50:	68 37 10 00 00       	push   $0x1037
40ac55:	ff b6 84 01 00 00    	push   0x184(%esi)
40ac5b:	89 be 60 01 00 00    	mov    %edi,0x160(%esi)
40ac61:	ff 15 40 34 42 00    	call   *0x423440
40ac67:	83 c8 20             	or     $0x20,%eax
40ac6a:	50                   	push   %eax
40ac6b:	57                   	push   %edi
40ac6c:	68 36 10 00 00       	push   $0x1036
40ac71:	ff b6 84 01 00 00    	push   0x184(%esi)
40ac77:	ff 15 40 34 42 00    	call   *0x423440
40ac7d:	6a 0f                	push   $0xf
40ac7f:	ff 15 44 34 42 00    	call   *0x423444
40ac85:	50                   	push   %eax
40ac86:	57                   	push   %edi
40ac87:	68 01 10 00 00       	push   $0x1001
40ac8c:	ff b6 84 01 00 00    	push   0x184(%esi)
40ac92:	ff 15 40 34 42 00    	call   *0x423440
40ac98:	6a 0f                	push   $0xf
40ac9a:	ff 15 44 34 42 00    	call   *0x423444
40aca0:	50                   	push   %eax
40aca1:	57                   	push   %edi
40aca2:	68 26 10 00 00       	push   $0x1026
40aca7:	ff b6 84 01 00 00    	push   0x184(%esi)
40acad:	ff 15 40 34 42 00    	call   *0x423440
40acb3:	8b ce                	mov    %esi,%ecx
40acb5:	e8 1d f7 ff ff       	call   0x40a3d7
40acba:	8b ce                	mov    %esi,%ecx
40acbc:	e8 62 f8 ff ff       	call   0x40a523
40acc1:	57                   	push   %edi
40acc2:	57                   	push   %edi
40acc3:	68 04 10 00 00       	push   $0x1004
40acc8:	ff b6 84 01 00 00    	push   0x184(%esi)
40acce:	ff 15 40 34 42 00    	call   *0x423440
40acd4:	85 c0                	test   %eax,%eax
40acd6:	7e 11                	jle    0x40ace9
40acd8:	6a 03                	push   $0x3
40acda:	6a 03                	push   $0x3
40acdc:	57                   	push   %edi
40acdd:	8d 8e 64 01 00 00    	lea    0x164(%esi),%ecx
40ace3:	ff 15 88 33 42 00    	call   *0x423388
40ace9:	57                   	push   %edi
40acea:	57                   	push   %edi
40aceb:	68 37 10 00 00       	push   $0x1037
40acf0:	ff b6 04 02 00 00    	push   0x204(%esi)
40acf6:	ff 15 40 34 42 00    	call   *0x423440
40acfc:	83 c8 20             	or     $0x20,%eax
40acff:	50                   	push   %eax
40ad00:	57                   	push   %edi
40ad01:	68 36 10 00 00       	push   $0x1036
40ad06:	ff b6 04 02 00 00    	push   0x204(%esi)
40ad0c:	ff 15 40 34 42 00    	call   *0x423440
40ad12:	6a 0f                	push   $0xf
40ad14:	ff 15 44 34 42 00    	call   *0x423444
40ad1a:	50                   	push   %eax
40ad1b:	57                   	push   %edi
40ad1c:	68 01 10 00 00       	push   $0x1001
40ad21:	ff b6 04 02 00 00    	push   0x204(%esi)
40ad27:	ff 15 40 34 42 00    	call   *0x423440
40ad2d:	6a 0f                	push   $0xf
40ad2f:	ff 15 44 34 42 00    	call   *0x423444
40ad35:	50                   	push   %eax
40ad36:	57                   	push   %edi
40ad37:	68 26 10 00 00       	push   $0x1026
40ad3c:	ff b6 04 02 00 00    	push   0x204(%esi)
40ad42:	ff 15 40 34 42 00    	call   *0x423440
40ad48:	8b ce                	mov    %esi,%ecx
40ad4a:	e8 a0 f0 ff ff       	call   0x409def
40ad4f:	8b ce                	mov    %esi,%ecx
40ad51:	e8 03 f2 ff ff       	call   0x409f59
40ad56:	8b ce                	mov    %esi,%ecx
40ad58:	e8 ba fe ff ff       	call   0x40ac17
40ad5d:	57                   	push   %edi
40ad5e:	57                   	push   %edi
40ad5f:	68 04 10 00 00       	push   $0x1004
40ad64:	ff b6 04 02 00 00    	push   0x204(%esi)
40ad6a:	ff 15 40 34 42 00    	call   *0x423440
40ad70:	85 c0                	test   %eax,%eax
40ad72:	7e 11                	jle    0x40ad85
40ad74:	6a 03                	push   $0x3
40ad76:	6a 03                	push   $0x3
40ad78:	57                   	push   %edi
40ad79:	8d 8e e4 01 00 00    	lea    0x1e4(%esi),%ecx
40ad7f:	ff 15 88 33 42 00    	call   *0x423388
40ad85:	8d 8e a4 01 00 00    	lea    0x1a4(%esi),%ecx
40ad8b:	ba 9f 00 00 00       	mov    $0x9f,%edx
40ad90:	e8 b9 3e 00 00       	call   0x40ec4e
40ad95:	57                   	push   %edi
40ad96:	68 88 13 00 00       	push   $0x1388
40ad9b:	68 34 12 00 00       	push   $0x1234
40ada0:	ff 76 20             	push   0x20(%esi)
40ada3:	ff 15 48 34 42 00    	call   *0x423448
40ada9:	89 86 5c 01 00 00    	mov    %eax,0x15c(%esi)
40adaf:	33 c0                	xor    %eax,%eax
40adb1:	5f                   	pop    %edi
40adb2:	40                   	inc    %eax
40adb3:	5e                   	pop    %esi
40adb4:	c3                   	ret
40adb5:	cc                   	int3
40adb6:	cc                   	int3
40adb7:	cc                   	int3
40adb8:	cc                   	int3
40adb9:	cc                   	int3
40adba:	cc                   	int3
40adbb:	cc                   	int3
40adbc:	cc                   	int3
40adbd:	cc                   	int3
40adbe:	cc                   	int3
40adbf:	cc                   	int3
40adc0:	8b ff                	mov    %edi,%edi
40adc2:	55                   	push   %ebp
40adc3:	8b ec                	mov    %esp,%ebp
40adc5:	8b 55 08             	mov    0x8(%ebp),%edx
40adc8:	8b 81 44 01 00 00    	mov    0x144(%ecx),%eax
40adce:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
40add2:	74 18                	je     0x40adec
40add4:	3b 42 10             	cmp    0x10(%edx),%eax
40add7:	75 26                	jne    0x40adff
40add9:	33 c0                	xor    %eax,%eax
40addb:	39 81 4c 01 00 00    	cmp    %eax,0x14c(%ecx)
40ade1:	0f 94 c0             	sete   %al
40ade4:	89 81 4c 01 00 00    	mov    %eax,0x14c(%ecx)
40adea:	eb 13                	jmp    0x40adff
40adec:	85 c0                	test   %eax,%eax
40adee:	75 0f                	jne    0x40adff
40adf0:	39 81 48 01 00 00    	cmp    %eax,0x148(%ecx)
40adf6:	0f 94 c0             	sete   %al
40adf9:	89 81 48 01 00 00    	mov    %eax,0x148(%ecx)
40adff:	8b 42 10             	mov    0x10(%edx),%eax
40ae02:	89 81 44 01 00 00    	mov    %eax,0x144(%ecx)
40ae08:	e8 0a fe ff ff       	call   0x40ac17
40ae0d:	8b 45 0c             	mov    0xc(%ebp),%eax
40ae10:	83 20 00             	andl   $0x0,(%eax)
40ae13:	5d                   	pop    %ebp
40ae14:	c2 08 00             	ret    $0x8
40ae17:	cc                   	int3
40ae18:	cc                   	int3
40ae19:	cc                   	int3
40ae1a:	cc                   	int3
40ae1b:	cc                   	int3
40ae1c:	cc                   	int3
40ae1d:	cc                   	int3
40ae1e:	cc                   	int3
40ae1f:	cc                   	int3
40ae20:	8b ff                	mov    %edi,%edi
40ae22:	55                   	push   %ebp
40ae23:	8b ec                	mov    %esp,%ebp
40ae25:	56                   	push   %esi
40ae26:	8b f1                	mov    %ecx,%esi
40ae28:	83 be 60 01 00 00 01 	cmpl   $0x1,0x160(%esi)
40ae2f:	74 20                	je     0x40ae51
40ae31:	81 7d 08 34 12 00 00 	cmpl   $0x1234,0x8(%ebp)
40ae38:	75 17                	jne    0x40ae51
40ae3a:	8b 8e 90 00 00 00    	mov    0x90(%esi),%ecx
40ae40:	ff 15 f8 32 42 00    	call   *0x4232f8
40ae46:	3b c6                	cmp    %esi,%eax
40ae48:	75 07                	jne    0x40ae51
40ae4a:	8b ce                	mov    %esi,%ecx
40ae4c:	e8 75 ef ff ff       	call   0x409dc6
40ae51:	8b ce                	mov    %esi,%ecx
40ae53:	ff 15 58 31 42 00    	call   *0x423158
40ae59:	5e                   	pop    %esi
40ae5a:	5d                   	pop    %ebp
40ae5b:	c2 04 00             	ret    $0x4
40ae5e:	cc                   	int3
40ae5f:	cc                   	int3
40ae60:	8b ff                	mov    %edi,%edi
40ae62:	56                   	push   %esi
40ae63:	57                   	push   %edi
40ae64:	8b f9                	mov    %ecx,%edi
40ae66:	8b 07                	mov    (%edi),%eax
40ae68:	8b b0 f8 00 00 00    	mov    0xf8(%eax),%esi
40ae6e:	8b ce                	mov    %esi,%ecx
40ae70:	ff 15 f0 35 42 00    	call   *0x4235f0
40ae76:	8b cf                	mov    %edi,%ecx
40ae78:	ff d6                	call   *%esi
40ae7a:	50                   	push   %eax
40ae7b:	ff 35 2c 1c 42 00    	push   0x421c2c
40ae81:	b9 24 1c 42 00       	mov    $0x421c24,%ecx
40ae86:	ff 15 28 31 42 00    	call   *0x423128
40ae8c:	5f                   	pop    %edi
40ae8d:	b8 61 02 00 00       	mov    $0x261,%eax
40ae92:	5e                   	pop    %esi
40ae93:	c3                   	ret
40ae94:	cc                   	int3
40ae95:	cc                   	int3
40ae96:	cc                   	int3
40ae97:	cc                   	int3
40ae98:	cc                   	int3
40ae99:	cc                   	int3
40ae9a:	cc                   	int3
40ae9b:	cc                   	int3
40ae9c:	cc                   	int3
40ae9d:	cc                   	int3
40ae9e:	cc                   	int3
40ae9f:	cc                   	int3
40aea0:	68 a0 00 00 00       	push   $0xa0
40aea5:	b8 4f cd 41 00       	mov    $0x41cd4f,%eax
40aeaa:	e8 89 15 01 00       	call   0x41c438
40aeaf:	8b f1                	mov    %ecx,%esi
40aeb1:	6a 00                	push   $0x0
40aeb3:	68 8b 00 00 00       	push   $0x8b
40aeb8:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
40aebe:	ff 15 08 31 42 00    	call   *0x423108
40aec4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40aec8:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40aecb:	c7 85 54 ff ff ff b0 	movl   $0x4028b0,-0xac(%ebp)
40aed2:	28 40 00
40aed5:	e8 08 c6 ff ff       	call   0x4074e2
40aeda:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40aee1:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
40aee7:	ff 15 ac 33 42 00    	call   *0x4233ac
40aeed:	83 f8 01             	cmp    $0x1,%eax
40aef0:	75 07                	jne    0x40aef9
40aef2:	8b ce                	mov    %esi,%ecx
40aef4:	e8 cd ee ff ff       	call   0x409dc6
40aef9:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
40af00:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40af03:	ff 15 6c 33 42 00    	call   *0x42336c
40af09:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40af0d:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
40af13:	ff 15 54 31 42 00    	call   *0x423154
40af19:	e8 e8 14 01 00       	call   0x41c406
40af1e:	c3                   	ret
40af1f:	8b ff                	mov    %edi,%edi
40af21:	55                   	push   %ebp
40af22:	8b ec                	mov    %esp,%ebp
40af24:	6a ff                	push   $0xffffffff
40af26:	68 82 cd 41 00       	push   $0x41cd82
40af2b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40af31:	50                   	push   %eax
40af32:	51                   	push   %ecx
40af33:	56                   	push   %esi
40af34:	a1 e4 05 42 00       	mov    0x4205e4,%eax
40af39:	33 c5                	xor    %ebp,%eax