Function at 0x408fd0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x70
mov dword [ebp - 0x10], 0x7b829d7e
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, 0x18
mov eax, dword [ebp - 0x10]
cmp eax, 0xede0b7b0
jg 0x409047
cmp eax, 0xb6a34bc1
jle 0x4090b2
cmp eax, 0xd5c46b0f
jg 0x4091dd
cmp eax, 0xc3c216cd
jle 0x40931d
cmp eax, 0xce7ace37
jg 0x4095cd
cmp eax, 0xc3c216ce
je 0x4093fd
cmp eax, 0xc790f37e
je 0x4099e6
cmp eax, 0xc7e3c84f
jne 0x408feb
mov dword [ebp - 0x10], 0xb6a34bc2
jmp 0x408feb
cmp eax, 0x41e179c2
jg 0x40915c
cmp eax, 0x154e76a9
jg 0x409237
cmp eax, 0x6c7ffcb
jg 0x409355
cmp eax, 0xf44ecfb1
jle 0x409610
cmp eax, 0xf44ecfb2
je 0x4099f5
cmp eax, 0xf59aa411
je 0x409a1f
cmp eax, 0xf884d28d
jne 0x408feb
push eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x10], 0x6f32ba4
jmp 0x408feb
cmp eax, 0x959ee4b9
jg 0x40927d
cmp eax, 0x86f9a22d
jg 0x4093a4
cmp eax, 0x83fc6d77
jle 0x40963f
cmp eax, 0x83fc6d78
je 0x409a52
cmp eax, 0x8410c221
je 0x409ab6
cmp eax, 0x84554dd1
jne 0x408feb
push eax
sub esp, 8
mov ebx, esp
mov byte [ebx + 0xb], 0
mov al, byte [0x4728b3]
mov byte [ebx + 0xa], al
movzx eax, word [0x4728b1]
mov word [ebx + 8], ax
mov eax, dword [0x4728ad]
mov dword [ebx + 4], eax
mov eax, dword [0x4728a9]
mov dword [ebx], eax
push 6
push 0x4728b4
push 0xb
push ebx
call fcn.0040a710
add esp, 0x10
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [eax + 4], edx
mov dword [eax], ecx
push dword [ebp - 0x30]
push dword [ebp - 0x20]
call edi
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x10], 0x1f64fb16
jmp 0x408feb
cmp eax, 0x5c26d241
jg 0x4092d3
cmp eax, 0x472e3cbf
jg 0x409409
cmp eax, 0x427e6b9b
jle 0x409684
cmp eax, 0x427e6b9c
je 0x409af7
cmp eax, 0x444b1400
je 0x409b14
cmp eax, 0x44c10536
jne 0x408feb
mov ecx, dword [ebp - 0x18]
imul eax, ecx, 0xe9
add eax, 0x2a
imul eax, eax
imul ecx, ecx, 0xe90
add ecx, 0x450
imul edx, eax, 0x58fd
dec edx
shr ecx, 8
mov dword [ebp - 0x18], ecx
mov ecx, 0xeb1fd2bb
cmp eax, edx
je 0x40a0ac
mov ecx, 0x398a740e
jmp 0x40a0ac
cmp eax, 0xe2e8a62f
jg 0x409464
cmp eax, 0xd9df720c
jle 0x4096dc
cmp eax, 0xd9df720d
je 0x409b4c
cmp eax, 0xdea971bc
je 0x40997f
cmp eax, 0xe112a8d8
jne 0x408feb
imul ecx, dword [ebp - 0x14], 0x1aa4
add ecx, 0x65b8
mov dword [ebp - 0x14], ecx
mov eax, 0x425df280
cmp ecx, 0x3d
jge 0x4096d2
jmp 0x40a04b
cmp eax, 0x1f64fb15
jg 0x4094d3
cmp eax, 0x164f71a0
jle 0x409704
cmp eax, 0x164f71a1
je 0x409b80
cmp eax, 0x1adb96c9
je 0x409b8c
cmp eax, 0x1b9c2852
jne 0x408feb
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x10], 0x84554dd1
jmp 0x408feb
cmp eax, 0xaff91869
jg 0x409511
cmp eax, 0xa0519cbf
jle 0x409738
cmp eax, 0xa0519cc0
je 0x409bb9
cmp eax, 0xa7949b7e
je 0x409bce
cmp eax, 0xab04b21d
jne 0x408feb
mov eax, dword [ebp - 0x18]
shl eax, 8
and eax, 0x3fffff00
add eax, 0xfffff7a0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xa0519cc0
jmp 0x408feb
cmp eax, 0x79322a21
jg 0x409584
cmp eax, 0x6d1dd2c9
jle 0x409778
cmp eax, 0x6d1dd2ca
je 0x409bfd
cmp eax, 0x6f4f0b35
je 0x409c60
cmp eax, 0x719fe0ff
jne 0x408feb
mov eax, dword [ebp - 0x48]
mov byte [eax + 0xb], 0
mov dword [ebp - 0x10], 0x7f31619f
jmp 0x408feb
cmp eax, 0xbd4ff6ab
jle 0x40979a
cmp eax, 0xbd4ff6ac
je 0x409c7b
cmp eax, 0xbde0d5d0
je 0x409c8b
cmp eax, 0xc02aa3de
jne 0x408feb
mov dword [ebp - 0x10], 0x1b9c2852
jmp 0x408feb
cmp eax, 0xa87d952
jle 0x4097bc
cmp eax, 0xa87d953
je 0x409cc3
cmp eax, 0xe67f83a
je 0x409cf8
cmp eax, 0x11f24231
jne 0x408feb
mov eax, dword [ebp - 0x18]
shr eax, 0xa
imul eax, eax, 0x1e1c
add eax, 0x3692c
shr eax, 0xe
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x375c1a1a
jmp 0x408feb
cmp eax, 0x8c9a7c35
jle 0x409807
cmp eax, 0x8c9a7c36
je 0x409d2d
cmp eax, 0x8eaab81d
je 0x409d44
cmp eax, 0x94fbdada
jne 0x408feb
mov eax, dword [ebp - 0x14]
mov ecx, 0xffffff4a
add eax, ecx
shr eax, 0x1a
add eax, 0xffffff43
mov dword [ebp - 0x14], eax
push 0x2e6b
push 0x1747
push 0x4b4
push eax
call fcn.0040a5d0
add esp, 0x10
mov dword [ebp - 0x10], 0x8eaab81d
jmp 0x408feb
cmp eax, 0x524f7fc5
jle 0x409856
cmp eax, 0x524f7fc6
je 0x409d59
cmp eax, 0x5616715c
je 0x409dbc
cmp eax, 0x58d7c070
jne 0x408feb
mov eax, dword [ebp - 0x18]
add eax, 0xffffffce
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x52d7
dec edx
shr eax, 3
mov dword [ebp - 0x18], eax
mov eax, 0xede0b7b1
cmp edx, ecx
je 0x40a04b
mov eax, 0xb218a53a
jmp 0x40a04b
cmp eax, 0xe5444043
jle 0x40989e
cmp eax, 0xe5444044
je 0x409dda
cmp eax, 0xe57461c3
je 0x409994
cmp eax, 0xeb1fd2bb
jne 0x408feb
mov eax, dword [ebp - 0x14]
shr eax, 0xb
and eax, 0x1f0000
lea ebx, [eax + eax*4]
shr ebx, 5
or ebx, 0x8e
mov dword [ebp - 0x14], ebx
call fcn.0040a106
push 0x5e28
push 0x46b2
push 0x5d49
push ebx
call fcn.0040a710
add esp, 0x10
mov dword [ebp - 0x10], 0xd914716f
jmp 0x408feb
cmp eax, 0x375c1a19
jle 0x4098e4
cmp eax, 0x375c1a1a
je 0x409dfc
cmp eax, 0x398a740e
je 0x409e11
cmp eax, 0x3d690808
jne 0x408feb
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x10], 0x81e12f62
jmp 0x408feb
cmp eax, 0xb3955f7a
jle 0x40990f
cmp eax, 0xb3955f7b
je 0x409e1d
cmp eax, 0xb3ca34d2
je 0x409e29
cmp eax, 0xb48e79f6
jne 0x408feb
imul ebx, dword [ebp - 0x14], 0xbf
mov eax, ebx
shr eax, 0xa
add eax, 0xffffff4c
mov dword [ebp - 0x14], eax
push 0x4205
push 0x32c
push eax
push 0x1f8
call fcn.0040a5d0
add esp, 0x10
mov eax, 0x94fbdada
cmp ebx, 0x57800
jb 0x40a04b
mov eax, 0x719fe0ff
jmp 0x40a04b
cmp eax, 0x7b829d7d
jle 0x409939
cmp eax, 0x7f31619f
je 0x409e56
cmp eax, 0x7c4f8091
je 0x409e92
cmp eax, 0x7b829d7e
jne 0x408feb
push eax
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x24], eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xe2e8a630
jmp 0x408feb
cmp eax, 0xd05b7f21
je 0x409edb
cmp eax, 0xd562ff25
jne 0x40a0f0
imul ecx, dword [ebp - 0x14], 0xb9
add ecx, 0x54
mov eax, ecx
shr eax, 0xd
mov dword [ebp - 0x14], eax
mov eax, 0xb3ca34d2
cmp ecx, 0xd0000
jae 0x40a04b
mov eax, 0x4d3b7e04
jmp 0x40a04b
cmp eax, 0xede0b7b1
je 0x409eef
cmp eax, 0xf0558411
jne 0x408feb
imul eax, dword [ebp - 0x18], 0x99c6000
shr eax, 9
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xe5444044
jmp 0x408feb
cmp eax, 0x81e12f62
je 0x409f37
cmp eax, 0x826ee42d
jne 0x408feb
mov eax, dword [ebp - 0x18]
shr eax, 8
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x7db
shl eax, 0xa
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xe57461c3
cmp edx, ecx
je 0x40a04b
mov eax, 0x79322a22
jmp 0x40a04b
cmp eax, 0x41e179c3
je 0x409f4f
cmp eax, 0x425df280
jne 0x408feb
imul ebx, dword [ebp - 0x14], 0x10810
mov dword [ebp - 0x14], ebx
push ebx
call fcn.00408fd0
add esp, 4
push 0x4a12
push ebx
push 0x1675
push 0x4494
call fcn.0040a710
add esp, 0x10
mov eax, 0xe67f83a
test ebx, ebx
je 0x40a04b
mov eax, 0xe57461c3
jmp 0x40a04b
cmp eax, 0xd5c46b10
je 0x409f64
cmp eax, 0xd914716f
jne 0x408feb
mov eax, dword [ebp - 0x68]
mov byte [eax], 0
mov dword [ebp - 0x10], 0x83fc6d78
jmp 0x408feb
cmp eax, 0x154e76aa
je 0x409f7f
cmp eax, 0x15fa78a4
jne 0x408feb
imul eax, dword [ebp - 0x14], 0x18ec0000
shr eax, 0xa
add eax, 0xffffff1c
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xf44ecfb2
jmp 0x408feb
cmp eax, 0x959ee4ba
je 0x409fb8
cmp eax, 0x9ddfb641
jne 0x408feb
mov ecx, dword [ebp - 0x14]
shr ecx, 2
and ecx, 0x3fffff00
mov eax, 0x7a18dbdd
add ecx, 0xffff6100
mov dword [ebp - 0x14], ecx
je 0x40a04b
mov eax, 0xbd4ff6ac
jmp 0x40a04b
cmp eax, 0x5c26d242
je 0x409fc4
cmp eax, 0x630b484b
jne 0x408feb
mov dword [ebp - 0x10], 0xe57461c3
jmp 0x408feb
cmp eax, 0xb6a34bc2
je 0x409fe8
cmp eax, 0xba19f14a
jne 0x408feb
mov dword [ebp - 0x10], 0x3361bb01
jmp 0x408feb
cmp eax, 0x6c7ffcc
je 0x40a00a
cmp eax, 0x6f32ba4
jne 0x408feb
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0xeb]
imul ecx, ecx
imul edx, ecx, 0x56a3
shl eax, 0xf
add eax, 0x228000
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xe112a8d8
cmp edx, ecx
je 0x40a04b
mov eax, 0xd914716f
jmp 0x40a04b
cmp eax, 0x86f9a22e
je 0x40a016
cmp eax, 0x87978f14
jne 0x408feb
imul eax, dword [ebp - 0x14], 0x10e
add eax, 0xffffff0d
shr eax, 2
imul ecx, eax, 0xda
add ecx, 0xffffff45
mov dword [ebp - 0x14], ecx
mov eax, 0x719fe0ff
cmp ecx, 0x9d
jl 0x40a04b
mov eax, 0xede0b7b1
jmp 0x40a04b
cmp eax, 0x472e3cc0
je 0x40a03b
cmp eax, 0x4d3b7e04
jne 0x408feb
mov eax, dword [ebp - 0x14]
shl eax, 0x11
add eax, 0xfffffeb5
mov dword [ebp - 0x14], eax
push 0x586d
push eax
push 0x5b96
push 0x1954
call fcn.0040a5d0
add esp, 0x10
mov dword [ebp - 0x10], 0xe2e8a630
jmp 0x408feb
cmp eax, 0xe2e8a630
je 0x40a053
cmp eax, 0xe38d4443
jne 0x408feb
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0x90]
imul ecx, ecx
imul edx, ecx, 0x849f
imul eax, eax, 0x36
dec edx
add eax, 0x35b
mov dword [ebp - 0x18], eax
mov eax, 0xf59aa411
cmp edx, ecx
jne 0x409d23
jmp 0x40a04b
cmp eax, 0x1f64fb16
je 0x40a070
cmp eax, 0x3361bb01
jne 0x408feb
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0x22c
mov dword [ebp - 0x10], 0xf0558411
jmp 0x408feb
cmp eax, 0xaff9186a
je 0x40a07f
cmp eax, 0xb218a53a
jne 0x408feb
mov eax, dword [ebp - 0x54]
push dword [ebp - 0x4c]
call eax
mov dword [ebp - 0x10], 0xa7949b7e
jmp 0x408feb
cmp eax, 0x79322a22
je 0x40a0b4
cmp eax, 0x7a18dbdd
jne 0x408feb
push eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x34], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x38], eax
sub esp, 0x22c
mov eax, esp
mov dword [ebp - 0x1c], eax
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0xe38d4443
jmp 0x408feb
mov eax, dword [ebp - 0x1c]
add eax, 0x24
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x10], 0xab04b21d
jmp 0x408feb
push eax
sub esp, 0x18
mov ebx, esp
mov byte [ebx + 0x18], 0
push esi
push 0x472860
push ebx
call fcn.004441d0
add esp, 0xc
push 7
push 0x472878
push esi
push ebx
call fcn.0040a710
add esp, 0x10
push 0x19
push ebx
push dword [ebp - 0x24]
call fcn.004441d0
add esp, 0xc
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call edi
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], 0xc3c216ce
jmp 0x408feb
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], 0x164f71a1
jmp 0x408feb
mov eax, dword [ebp - 0x14]
shr eax, 0xe
imul ecx, eax, 0x58
add ecx, 0xffffb336
mov dword [ebp - 0x14], ecx
mov eax, 0x7c4f8091
cmp ecx, 0x1c
jae 0x40a04b
mov eax, 0x9ddfb641
jmp 0x40a04b
imul ebx, dword [ebp - 0x14], 0x2c
mov eax, ebx
shr eax, 7
add eax, 0xffffffd3
mov dword [ebp - 0x14], eax
push eax
call fcn.00408fd0
add esp, 4
mov eax, 0x7a18dbdd
cmp ebx, 0x4c80
jb 0x40a04b
mov eax, 0xd562ff25
jmp 0x40a04b
mov eax, dword [ebp - 0x44]
mov ecx, dword [0x4728c6]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x4728c2]
mov dword [eax + 8], ecx
mov ecx, dword [0x4728be]
mov dword [eax + 4], ecx
mov ecx, dword [0x4728ba]
mov dword [eax], ecx
push 6
push 0x4728ca
push 0x10
push dword [ebp - 0x44]
call fcn.0040a710
add esp, 0x10
push 0x11
push dword [ebp - 0x44]
push dword [ebp - 0x34]
call fcn.004441d0
add esp, 0xc
push dword [ebp - 0x34]
push dword [ebp - 0x20]
call edi
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x10], 0x11f24231
jmp 0x408feb
push 0x18
push 0x466510
push dword [ebp - 0x3c]
call fcn.004441d0
add esp, 0xc
push 4
push 0x466528
push 0xc
push dword [ebp - 0x3c]
call fcn.0040a5d0
add esp, 0x10
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0x444b1400
jmp 0x408feb
push dword [ebp + 8]
push dword [ebp - 0x70]
call fcn.00453cda
add esp, 8
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x10], 0xbd4ff6ac
jmp 0x408feb
imul eax, dword [ebp - 0x18], 0xbc
shr eax, 7
mov ecx, eax
imul ecx, eax
add eax, 0x9c
imul edx, ecx, 0x758b
dec edx
shr eax, 0xa
mov dword [ebp - 0x18], eax
mov eax, 0xe2e8a630
cmp edx, ecx
je 0x40a04b
mov eax, 0x630b484b
jmp 0x40a04b
mov eax, dword [ebp - 0x18]
mov ecx, 0xffffff70
add eax, ecx
mov ecx, eax
imul ecx, eax
and eax, 0xffffff80
shl eax, 4
imul edx, ecx, 0x1c7
dec edx
add eax, 0xffffff9e
mov dword [ebp - 0x18], eax
mov eax, 0xf884d28d
cmp ecx, edx
jne 0x409cb9
jmp 0x40a04b
mov dword [ebp - 0x10], 0x6d1dd2ca
jmp 0x408feb
mov ecx, dword [ebp - 0x14]
mov eax, 0xffffff3b
add ecx, eax
mov eax, ecx
shr eax, 5
mov dword [ebp - 0x14], eax
mov eax, 0xb48e79f6
cmp ecx, 0x700
jae 0x40a04b
mov eax, 0xf884d28d
jmp 0x40a04b
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x10], 0x959ee4ba
jmp 0x408feb
mov eax, dword [ebp - 0x18]
add eax, 0x64
mov ecx, eax
imul ecx, eax
shr eax, 0x18
imul edx, ecx, 0x83ab
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xe2e8a630
cmp edx, ecx
je 0x40a04b
mov eax, 0x3d690808
jmp 0x40a04b
push eax
sub esp, 0xc
mov ebx, esp
mov byte [ebx + 0xe], 0
movzx eax, word [0x4728a0]
mov word [ebx + 0xc], ax
mov eax, dword [0x47289c]
mov dword [ebx + 8], eax
mov eax, dword [0x472898]
mov dword [ebx + 4], eax
mov eax, dword [0x472894]
mov dword [ebx], eax
push 7
push 0x4728a2
push 0xe
push ebx
call fcn.0040a710
add esp, 0x10
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebx + 0xb]
mov dword [eax + 0xb], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [ebp - 0x10], 0xa87d953
jmp 0x408feb
mov eax, dword [ebp - 0x64]
push dword [ebp - 0x7c]
push 0
push 1
call eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x10], 0x44c10536
jmp 0x408feb
cmp dword [ebp - 0x78], 0
mov eax, 0x5c26d242
jne 0x409cb9
jmp 0x40a04b
mov eax, dword [ebp - 0x18]
mov ecx, 0xfffffeac
add eax, ecx
shr eax, 3
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0xc77
add eax, 0xd7
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xf884d28d
cmp edx, ecx
je 0x40a04b
mov eax, 0xc7e3c84f
jmp 0x40a04b
mov ecx, dword [ebp - 0x18]
mov eax, ecx
shr eax, 9
imul eax, eax
shr ecx, 0x18
imul edx, eax, 0x2ad
dec edx
add ecx, 0x90
mov dword [ebp - 0x18], ecx
mov ecx, 0x7a18dbdd
cmp eax, edx
je 0x40a0ac
mov ecx, 0x8c9a7c36
jmp 0x40a0ac
mov eax, dword [ebp - 0x14]
shl eax, 0xb
or eax, 0x1e6
imul ebx, eax, 0xb4
mov dword [ebp - 0x14], ebx
push ebx
call fcn.00408fd0
add esp, 4
mov eax, 0xe2e8a630
cmp ebx, 0x3e
jl 0x40a04b
mov eax, 0x41e179c3
jmp 0x40a04b
push dword [ebp - 0x2c]
push dword [ebp - 0x20]
call edi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], 0xc02aa3de
jmp 0x408feb
push eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0x524f7fc6
jmp 0x408feb
mov eax, dword [ebp - 0x40]
mov byte [eax + 0xf], 0
mov ebx, 0xf
push ebx
push 0x47287f
push dword [ebp - 0x40]
call fcn.004441d0
add esp, 0xc
push 6
push 0x47288e
push ebx
push dword [ebp - 0x40]
call fcn.0040a710
add esp, 0x10
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov dword [eax], edx
push dword [ebp - 0x28]
push dword [ebp - 0x20]
call edi
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x10], 0xc790f37e
jmp 0x408feb
mov eax, dword [ebp - 0x6c]
push 0
push dword [ebp - 0x50]
call eax
mov eax, dword [ebp - 0x54]
push dword [ebp - 0x50]
call eax
mov dword [ebp - 0x10], 0xbde0d5d0
jmp 0x408feb
mov eax, dword [ebp - 0x5c]
push dword [ebp - 0x1c]
push dword [ebp - 0x4c]
call eax
mov ecx, 0x58d7c070
test eax, eax
je 0x40a0ac
mov ecx, 0x6c7ffcc
jmp 0x40a0ac
push eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], 0x719fe0ff
jmp 0x408feb
mov dword [ebp - 0x10], 0x472e3cc0
jmp 0x408feb
mov dword [ebp - 0x10], 0x427e6b9c
jmp 0x408feb
mov ecx, dword [ebp - 0x14]
add ecx, 2
and ecx, 0x7ffffff
add ecx, 0xffffffc8
mov dword [ebp - 0x14], ecx
mov eax, 0x7a18dbdd
cmp ecx, 0xdd
je 0x40a04b
mov eax, 0xe2e8a630
jmp 0x40a04b
mov eax, dword [ebp - 0x18]
add eax, 4
shr eax, 4
add eax, 0x1a
imul ecx, eax, 0x1c0000
imul eax, eax
imul edx, eax, 0x25e1
dec edx
add ecx, 0xffd24000
mov dword [ebp - 0x18], ecx
mov ecx, 0x375c1a1a
cmp edx, eax
je 0x40a0ac
mov ecx, 0xede0b7b1
jmp 0x40a0ac
mov eax, dword [ebp - 0x14]
mov ecx, 0x1ffffdef
add eax, ecx
shr eax, 8
imul ebx, eax, 0x35800
mov dword [ebp - 0x14], ebx
push 0x28d5
push ebx
push 0x535a
push 0x3976
call fcn.0040a5d0
add esp, 0x10
mov eax, 0xbd4ff6ac
cmp ebx, 0xc0
jl 0x40a04b
mov eax, 0xa0519cc0
jmp 0x40a04b
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x10], 0xaff9186a
jmp 0x408feb
mov eax, dword [ebp - 0x48]
mov cl, byte [0x4728da]
mov byte [eax + 0xa], cl
movzx ecx, word [0x4728d8]
mov word [eax + 8], cx
mov ecx, dword [0x4728d4]
mov dword [eax + 4], ecx
mov ecx, dword [0x4728d0]
mov dword [eax], ecx
push 4
push 0x4728db
push 0xb
push dword [ebp - 0x48]
call fcn.0040a710
add esp, 0x10
mov dword [ebp - 0x10], 0x826ee42d
jmp 0x408feb
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], 0xce7ace38
jmp 0x408feb
mov eax, dword [ebp - 0x3c]
mov word [eax + 0x18], 0
mov dword [ebp - 0x10], 0x8410c221
jmp 0x408feb
imul eax, dword [ebp - 0x14], 0xc6d800
add eax, 0xffff96b5
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x154e76aa
jmp 0x408feb
mov ebx, dword [ebp - 0x14]
add ebx, 0xffffff8a
mov dword [ebp - 0x14], ebx
push ebx
push 0x4c69
push 0x3f9f
push 0x4d50
call fcn.0040a5d0
add esp, 0x10
mov eax, 0xa0519cc0
cmp ebx, 0x74
jge 0x40a04b
mov eax, 0x6f4f0b35
jmp 0x40a04b
mov dword [ebp - 0x10], 0xb3955f7b
jmp 0x408feb
imul eax, dword [ebp - 0x18], 0xcc
add eax, 0xffff51be
shr eax, 6
imul eax, eax, 0xc5
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xd05b7f21
jmp 0x408feb
mov eax, dword [ebp - 0x60]
push dword [ebp - 0x1c]
push dword [ebp - 0x4c]
call eax
mov ecx, 0xb218a53a
test eax, eax
je 0x40a0ac
mov ecx, 0x959ee4ba
jmp 0x40a0ac
mov dword [ebp - 0x10], 0xdea971bc
jmp 0x408feb
mov eax, dword [ebp - 0x18]
add eax, 0x2e
mov dword [ebp - 0x18], eax
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x14b1
dec edx
mov eax, 0xd914716f
cmp edx, ecx
je 0x40a04b
mov eax, 0x5616715c
jmp 0x40a04b
cmp dword [ebp - 0x50], 0
mov eax, 0xd9df720d
je 0x40a04b
mov eax, 0x86f9a22e
mov dword [ebp - 0x10], eax
jmp 0x408feb
push eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x2c], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0x7a18dbdd
jmp 0x408feb
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], 0xf884d28d
jmp 0x408feb
mov eax, dword [ebp - 0x18]
mov ecx, 0x8c
add eax, ecx
mov ecx, eax
shr ecx, 0xb
imul eax, eax
add ecx, 0x77
imul edx, eax, 0x2115
dec edx
mov dword [ebp - 0x18], ecx
mov ecx, 0x15fa78a4
cmp eax, edx
je 0x40a0ac
mov ecx, 0x6f4f0b35
mov dword [ebp - 0x10], ecx
jmp 0x408feb
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov dword [eax], edx
push dword [ebp - 0x38]
push dword [ebp - 0x20]
call edi
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x58]
push 0
push 0xf
call eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0xba19f14a
jmp 0x408feb
cmp eax, 0xce7ace38
jne 0x408feb
mov eax, dword [ebp - 0x24]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret