40878d:	83 61 04 00          	andl   $0x0,0x4(%ecx)
408791:	8b 02                	mov    (%edx),%eax
408793:	56                   	push   %esi
408794:	52                   	push   %edx
408795:	8b 70 08             	mov    0x8(%eax),%esi
408798:	8b ce                	mov    %esi,%ecx
40879a:	ff 15 90 b3 41 00    	call   *0x41b390
4087a0:	ff d6                	call   *%esi
4087a2:	5e                   	pop    %esi
4087a3:	c3                   	ret
4087a4:	8b ff                	mov    %edi,%edi
4087a6:	55                   	push   %ebp
4087a7:	8b ec                	mov    %esp,%ebp
4087a9:	8d 45 14             	lea    0x14(%ebp),%eax
4087ac:	50                   	push   %eax
4087ad:	ff 75 10             	push   0x10(%ebp)
4087b0:	6a ff                	push   $0xffffffff
4087b2:	ff 75 0c             	push   0xc(%ebp)
4087b5:	ff 75 08             	push   0x8(%ebp)
4087b8:	ff 15 e4 b2 41 00    	call   *0x41b2e4
4087be:	83 c4 14             	add    $0x14,%esp
4087c1:	83 f8 ff             	cmp    $0xffffffff,%eax
4087c4:	75 07                	jne    0x4087cd
4087c6:	b8 7a 00 07 80       	mov    $0x8007007a,%eax
4087cb:	5d                   	pop    %ebp
4087cc:	c3                   	ret
4087cd:	33 c0                	xor    %eax,%eax
4087cf:	5d                   	pop    %ebp
4087d0:	c3                   	ret
4087d1:	8b ff                	mov    %edi,%edi
4087d3:	56                   	push   %esi
4087d4:	33 f6                	xor    %esi,%esi
4087d6:	66 3b ca             	cmp    %dx,%cx
4087d9:	76 08                	jbe    0x4087e3
4087db:	0f b7 c1             	movzwl %cx,%eax
4087de:	0f b7 ca             	movzwl %dx,%ecx
4087e1:	8b d0                	mov    %eax,%edx
4087e3:	8b c6                	mov    %esi,%eax
4087e5:	66 3b 88 50 2e 40 00 	cmp    0x402e50(%eax),%cx
4087ec:	75 09                	jne    0x4087f7
4087ee:	66 3b 90 52 2e 40 00 	cmp    0x402e52(%eax),%dx
4087f5:	74 0c                	je     0x408803
4087f7:	83 c0 06             	add    $0x6,%eax
4087fa:	3d 06 0c 00 00       	cmp    $0xc06,%eax
4087ff:	72 e4                	jb     0x4087e5
408801:	eb 03                	jmp    0x408806
408803:	33 f6                	xor    %esi,%esi
408805:	46                   	inc    %esi
408806:	8b c6                	mov    %esi,%eax
408808:	5e                   	pop    %esi
408809:	c3                   	ret
40880a:	c7 01 90 15 40 00    	movl   $0x401590,(%ecx)
408810:	c3                   	ret
408811:	cc                   	int3
408812:	cc                   	int3
408813:	cc                   	int3
408814:	cc                   	int3
408815:	cc                   	int3
408816:	cc                   	int3
408817:	cc                   	int3
408818:	cc                   	int3
408819:	cc                   	int3
40881a:	cc                   	int3
40881b:	cc                   	int3
40881c:	cc                   	int3
40881d:	cc                   	int3
40881e:	cc                   	int3
40881f:	cc                   	int3
408820:	6a 00                	push   $0x0
408822:	ff 71 04             	push   0x4(%ecx)
408825:	ff 15 b8 b2 41 00    	call   *0x41b2b8
40882b:	33 c0                	xor    %eax,%eax
40882d:	40                   	inc    %eax
40882e:	c3                   	ret
40882f:	cc                   	int3
408830:	33 c0                	xor    %eax,%eax
408832:	c2 04 00             	ret    $0x4
408835:	cc                   	int3
408836:	cc                   	int3
408837:	cc                   	int3
408838:	cc                   	int3
408839:	cc                   	int3
40883a:	cc                   	int3
40883b:	cc                   	int3
40883c:	cc                   	int3
40883d:	cc                   	int3
40883e:	cc                   	int3
40883f:	cc                   	int3
408840:	33 c0                	xor    %eax,%eax
408842:	c2 08 00             	ret    $0x8
408845:	cc                   	int3
408846:	cc                   	int3
408847:	cc                   	int3
408848:	cc                   	int3
408849:	cc                   	int3
40884a:	cc                   	int3
40884b:	cc                   	int3
40884c:	cc                   	int3
40884d:	cc                   	int3
40884e:	cc                   	int3
40884f:	cc                   	int3
408850:	33 c0                	xor    %eax,%eax
408852:	c2 0c 00             	ret    $0xc
408855:	cc                   	int3
408856:	cc                   	int3
408857:	cc                   	int3
408858:	cc                   	int3
408859:	cc                   	int3
40885a:	cc                   	int3
40885b:	cc                   	int3
40885c:	cc                   	int3
40885d:	cc                   	int3
40885e:	cc                   	int3
40885f:	cc                   	int3
408860:	33 c0                	xor    %eax,%eax
408862:	40                   	inc    %eax
408863:	c2 04 00             	ret    $0x4
408866:	cc                   	int3
408867:	cc                   	int3
408868:	cc                   	int3
408869:	cc                   	int3
40886a:	cc                   	int3
40886b:	cc                   	int3
40886c:	cc                   	int3
40886d:	cc                   	int3
40886e:	cc                   	int3
40886f:	cc                   	int3
408870:	33 c0                	xor    %eax,%eax
408872:	40                   	inc    %eax
408873:	c2 08 00             	ret    $0x8
408876:	cc                   	int3
408877:	cc                   	int3
408878:	cc                   	int3
408879:	cc                   	int3
40887a:	cc                   	int3
40887b:	cc                   	int3
40887c:	cc                   	int3
40887d:	cc                   	int3
40887e:	cc                   	int3
40887f:	cc                   	int3
408880:	8b ff                	mov    %edi,%edi
408882:	55                   	push   %ebp
408883:	8b ec                	mov    %esp,%ebp
408885:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
408889:	56                   	push   %esi
40888a:	8b f1                	mov    %ecx,%esi
40888c:	c7 06 90 15 40 00    	movl   $0x401590,(%esi)
408892:	74 08                	je     0x40889c
408894:	56                   	push   %esi
408895:	ff 15 cc b2 41 00    	call   *0x41b2cc
40889b:	59                   	pop    %ecx
40889c:	8b c6                	mov    %esi,%eax
40889e:	5e                   	pop    %esi
40889f:	5d                   	pop    %ebp
4088a0:	c2 04 00             	ret    $0x4
4088a3:	cc                   	int3
4088a4:	cc                   	int3
4088a5:	cc                   	int3
4088a6:	cc                   	int3
4088a7:	cc                   	int3
4088a8:	cc                   	int3
4088a9:	cc                   	int3
4088aa:	cc                   	int3
4088ab:	cc                   	int3
4088ac:	cc                   	int3
4088ad:	cc                   	int3
4088ae:	cc                   	int3
4088af:	cc                   	int3
4088b0:	8b ff                	mov    %edi,%edi
4088b2:	55                   	push   %ebp
4088b3:	8b ec                	mov    %esp,%ebp
4088b5:	51                   	push   %ecx
4088b6:	53                   	push   %ebx
4088b7:	56                   	push   %esi
4088b8:	57                   	push   %edi
4088b9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4088bc:	33 db                	xor    %ebx,%ebx
4088be:	50                   	push   %eax
4088bf:	68 2d 01 00 00       	push   $0x12d
4088c4:	8b f1                	mov    %ecx,%esi
4088c6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4088c9:	e8 fb a4 00 00       	call   0x412dc9
4088ce:	ff 75 fc             	push   -0x4(%ebp)
4088d1:	8b ce                	mov    %esi,%ecx
4088d3:	68 56 04 00 00       	push   $0x456
4088d8:	e8 1f 44 00 00       	call   0x40ccfc
4088dd:	33 c0                	xor    %eax,%eax
4088df:	8b ce                	mov    %esi,%ecx
4088e1:	39 45 fc             	cmp    %eax,-0x4(%ebp)
4088e4:	0f 94 c0             	sete   %al
4088e7:	50                   	push   %eax
4088e8:	68 57 04 00 00       	push   $0x457
4088ed:	e8 0a 44 00 00       	call   0x40ccfc
4088f2:	8d 45 fc             	lea    -0x4(%ebp),%eax
4088f5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4088f8:	50                   	push   %eax
4088f9:	68 30 01 00 00       	push   $0x130
4088fe:	e8 c6 a4 00 00       	call   0x412dc9
408903:	ff 75 fc             	push   -0x4(%ebp)
408906:	8b ce                	mov    %esi,%ecx
408908:	68 53 04 00 00       	push   $0x453
40890d:	e8 ea 43 00 00       	call   0x40ccfc
408912:	8d 45 fc             	lea    -0x4(%ebp),%eax
408915:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408918:	50                   	push   %eax
408919:	68 2e 01 00 00       	push   $0x12e
40891e:	e8 a6 a4 00 00       	call   0x412dc9
408923:	ff 75 fc             	push   -0x4(%ebp)
408926:	8b ce                	mov    %esi,%ecx
408928:	68 51 04 00 00       	push   $0x451
40892d:	e8 ca 43 00 00       	call   0x40ccfc
408932:	8d 45 fc             	lea    -0x4(%ebp),%eax
408935:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408938:	50                   	push   %eax
408939:	68 2f 01 00 00       	push   $0x12f
40893e:	e8 86 a4 00 00       	call   0x412dc9
408943:	ff 75 fc             	push   -0x4(%ebp)
408946:	bf 52 04 00 00       	mov    $0x452,%edi
40894b:	8b ce                	mov    %esi,%ecx
40894d:	57                   	push   %edi
40894e:	e8 a9 43 00 00       	call   0x40ccfc
408953:	8d 45 fc             	lea    -0x4(%ebp),%eax
408956:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408959:	50                   	push   %eax
40895a:	68 33 01 00 00       	push   $0x133
40895f:	e8 65 a4 00 00       	call   0x412dc9
408964:	ff 75 fc             	push   -0x4(%ebp)
408967:	8d 5f 12             	lea    0x12(%edi),%ebx
40896a:	8b ce                	mov    %esi,%ecx
40896c:	53                   	push   %ebx
40896d:	e8 8a 43 00 00       	call   0x40ccfc
408972:	68 57 04 00 00       	push   $0x457
408977:	8b ce                	mov    %esi,%ecx
408979:	e8 aa 43 00 00       	call   0x40cd28
40897e:	48                   	dec    %eax
40897f:	8b ce                	mov    %esi,%ecx
408981:	f7 d8                	neg    %eax
408983:	1b c0                	sbb    %eax,%eax
408985:	40                   	inc    %eax
408986:	50                   	push   %eax
408987:	68 51 04 00 00       	push   $0x451
40898c:	e8 db 42 00 00       	call   0x40cc6c
408991:	68 57 04 00 00       	push   $0x457
408996:	8b ce                	mov    %esi,%ecx
408998:	e8 8b 43 00 00       	call   0x40cd28
40899d:	48                   	dec    %eax
40899e:	8b ce                	mov    %esi,%ecx
4089a0:	f7 d8                	neg    %eax
4089a2:	1b c0                	sbb    %eax,%eax
4089a4:	40                   	inc    %eax
4089a5:	50                   	push   %eax
4089a6:	57                   	push   %edi
4089a7:	e8 c0 42 00 00       	call   0x40cc6c
4089ac:	68 57 04 00 00       	push   $0x457
4089b1:	8b ce                	mov    %esi,%ecx
4089b3:	e8 70 43 00 00       	call   0x40cd28
4089b8:	48                   	dec    %eax
4089b9:	8b ce                	mov    %esi,%ecx
4089bb:	f7 d8                	neg    %eax
4089bd:	1b c0                	sbb    %eax,%eax
4089bf:	40                   	inc    %eax
4089c0:	50                   	push   %eax
4089c1:	53                   	push   %ebx
4089c2:	e8 a5 42 00 00       	call   0x40cc6c
4089c7:	a1 80 93 41 00       	mov    0x419380,%eax
4089cc:	8b ce                	mov    %esi,%ecx
4089ce:	c1 e8 06             	shr    $0x6,%eax
4089d1:	f7 d0                	not    %eax
4089d3:	83 e0 01             	and    $0x1,%eax
4089d6:	50                   	push   %eax
4089d7:	68 53 04 00 00       	push   $0x453
4089dc:	e8 8b 42 00 00       	call   0x40cc6c
4089e1:	53                   	push   %ebx
4089e2:	8b ce                	mov    %esi,%ecx
4089e4:	e8 3f 43 00 00       	call   0x40cd28
4089e9:	83 f8 01             	cmp    $0x1,%eax
4089ec:	75 16                	jne    0x408a04
4089ee:	50                   	push   %eax
4089ef:	83 c3 ed             	add    $0xffffffed,%ebx
4089f2:	8b ce                	mov    %esi,%ecx
4089f4:	53                   	push   %ebx
4089f5:	e8 02 43 00 00       	call   0x40ccfc
4089fa:	6a 00                	push   $0x0
4089fc:	53                   	push   %ebx
4089fd:	8b ce                	mov    %esi,%ecx
4089ff:	e8 68 42 00 00       	call   0x40cc6c
408a04:	5f                   	pop    %edi
408a05:	5e                   	pop    %esi
408a06:	5b                   	pop    %ebx
408a07:	c9                   	leave
408a08:	c2 04 00             	ret    $0x4
408a0b:	cc                   	int3
408a0c:	cc                   	int3
408a0d:	cc                   	int3
408a0e:	cc                   	int3
408a0f:	cc                   	int3
408a10:	8b ff                	mov    %edi,%edi
408a12:	55                   	push   %ebp
408a13:	8b ec                	mov    %esp,%ebp
408a15:	8b 45 08             	mov    0x8(%ebp),%eax
408a18:	53                   	push   %ebx
408a19:	56                   	push   %esi
408a1a:	8b f1                	mov    %ecx,%esi
408a1c:	33 db                	xor    %ebx,%ebx
408a1e:	0f b7 c8             	movzwl %ax,%ecx
408a21:	57                   	push   %edi
408a22:	8b f9                	mov    %ecx,%edi
408a24:	c1 e8 10             	shr    $0x10,%eax
408a27:	85 ff                	test   %edi,%edi
408a29:	0f 84 bf 01 00 00    	je     0x408bee
408a2f:	83 ff 02             	cmp    $0x2,%edi
408a32:	0f 86 02 01 00 00    	jbe    0x408b3a
408a38:	b8 56 04 00 00       	mov    $0x456,%eax
408a3d:	3b f8                	cmp    %eax,%edi
408a3f:	74 6a                	je     0x408aab
408a41:	40                   	inc    %eax
408a42:	3b f8                	cmp    %eax,%edi
408a44:	74 43                	je     0x408a89
408a46:	b8 64 04 00 00       	mov    $0x464,%eax
408a4b:	3b f8                	cmp    %eax,%edi
408a4d:	0f 85 9b 01 00 00    	jne    0x408bee
408a53:	50                   	push   %eax
408a54:	8b ce                	mov    %esi,%ecx
408a56:	e8 cd 42 00 00       	call   0x40cd28
408a5b:	33 ff                	xor    %edi,%edi
408a5d:	47                   	inc    %edi
408a5e:	3b c7                	cmp    %edi,%eax
408a60:	75 1c                	jne    0x408a7e
408a62:	57                   	push   %edi
408a63:	68 51 04 00 00       	push   $0x451
408a68:	8b ce                	mov    %esi,%ecx
408a6a:	e8 8d 42 00 00       	call   0x40ccfc
408a6f:	57                   	push   %edi
408a70:	68 52 04 00 00       	push   $0x452
408a75:	8b ce                	mov    %esi,%ecx
408a77:	e8 80 42 00 00       	call   0x40ccfc
408a7c:	8b fb                	mov    %ebx,%edi
408a7e:	57                   	push   %edi
408a7f:	68 51 04 00 00       	push   $0x451
408a84:	e9 a5 00 00 00       	jmp    0x408b2e
408a89:	50                   	push   %eax
408a8a:	8b ce                	mov    %esi,%ecx
408a8c:	e8 97 42 00 00       	call   0x40cd28
408a91:	48                   	dec    %eax
408a92:	8b ce                	mov    %esi,%ecx
408a94:	f7 d8                	neg    %eax
408a96:	1b c0                	sbb    %eax,%eax
408a98:	40                   	inc    %eax
408a99:	50                   	push   %eax
408a9a:	68 51 04 00 00       	push   $0x451