Function at 0x40906c
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xa4
mov dword [ebp - 0x10], 0x5b668583
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, 0xffffed00
mov eax, dword [ebp - 0x10]
cmp eax, 0xf8e559fd
jg 0x4090ef
cmp eax, 0xc5f299be
jle 0x409174
cmp eax, 0xdc89495c
jg 0x40922c
cmp eax, 0xd0460e07
jle 0x409372
cmp eax, 0xd39e5d43
jle 0x409644
cmp eax, 0xd39e5d44
je 0x409a18
cmp eax, 0xd4b78af1
je 0x409a2d
cmp eax, 0xd62d79db
jne 0x40908a
push eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0xb296c61
jmp 0x40908a
cmp eax, 0x48f18c91
jle 0x4091ca
cmp eax, 0x5ead8a10
jg 0x40929e
cmp eax, 0x5101437d
jle 0x4093d8
cmp eax, 0x578adb75
jle 0x40968c
cmp eax, 0x578adb76
je 0x409a74
cmp eax, 0x5a2b3fc9
je 0x409a8e
cmp eax, 0x5b668583
jne 0x40908a
push eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x24], eax
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x28], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x2c], eax
sub esp, 0x22c
mov eax, esp
mov dword [ebp - 0x1c], eax
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0xe544d742
jmp 0x40908a
cmp eax, 0xb10facfc
jg 0x4092e5
cmp eax, 0x8fe8d880
jle 0x409429
cmp eax, 0xa10ace43
jle 0x4096b7
cmp eax, 0xa10ace44
je 0x409a9a
cmp eax, 0xa140a1ab
je 0x409aa6
cmp eax, 0xac54653c
jne 0x40908a
mov eax, dword [ebp - 0x50]
push dword [ebp - 0x48]
call eax
mov dword [ebp - 0x10], 0x74fd6f1f
jmp 0x40908a
cmp eax, 0x15d99559
jle 0x40932b
cmp eax, 0x2fc64b53
jle 0x409496
cmp eax, 0x34a85f48
jle 0x409700
cmp eax, 0x34a85f49
je 0x409abf
cmp eax, 0x367e9265
je 0x409af7
cmp eax, 0x4147df62
jne 0x40908a
mov ecx, dword [ebp - 0x18]
mov eax, 0x16f
add ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, 0x1347eb9c
cmp ecx, 0x17
jne 0x409fe8
jmp 0x40a040
cmp eax, 0xe9f6d0e5
jle 0x4094e1
cmp eax, 0xf2c135a4
jle 0x40972e
cmp eax, 0xf2c135a5
je 0x409b06
cmp eax, 0xf4593bdd
je 0x409b3f
cmp eax, 0xf490fa59
jne 0x40908a
mov eax, dword [ebp - 0x54]
mov byte [eax], 0
mov esi, 0x18
push esi
push 0x47c810
push dword [ebp - 0x34]
call fcn.0044a890
add esp, 0xc
push 5
push 0x47c828
push esi
push dword [ebp - 0x34]
call fcn.0040a8f0
add esp, 0x10
mov dword [ebp - 0x10], 0xd339d5fe
jmp 0x40908a
cmp eax, 0x74fd6f1e
jle 0x40953d
cmp eax, 0x79c5bcd4
jle 0x409783
cmp eax, 0x79c5bcd5
je 0x409b62
cmp eax, 0x79dcd6a1
je 0x409b84
cmp eax, 0x7b77bc8f
jne 0x40908a
shl dword [ebp - 0x14], 0x13
mov dword [ebp - 0x10], 0x5101437e
jmp 0x40908a
cmp eax, 0xb9650f6f
jg 0x40956a
cmp eax, 0xb5a096cd
jle 0x4097a8
cmp eax, 0xb5c9ae72
je 0x409bb9
cmp eax, 0xb6e7b0da
jne 0x40a065
mov eax, dword [ebp - 0x18]
mov ecx, 0xffffff7d
add eax, ecx
shr eax, 4
and eax, 0xffffc00
or eax, 9
jmp 0x409a7f
cmp eax, 0x5ca5925
jg 0x4095fd
cmp eax, 0x231b4d5
jg 0x4097ca
cmp eax, 0xf8e559fe
je 0x409bd7
cmp eax, 0x2231c25
jne 0x40908a
imul eax, dword [ebp - 0x14], 0x380
add eax, 0xffffa3bf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xe9975444
jmp 0x40908a
cmp eax, 0xc74ee641
jg 0x40982f
cmp eax, 0xc5f299bf
je 0x409c15
cmp eax, 0xc5fa051d
jne 0x40908a
mov esi, dword [ebp - 0x18]
add esi, 0x5d
mov dword [ebp - 0x18], esi
push 0x2538
push 0x153c
push esi
push 0x4950
call fcn.0040a7c0
add esp, 0x10
push esi
call fcn.0040906c
add esp, 4
mov eax, 0xb5c9ae72
cmp esi, 0xbc
je 0x40a040
mov eax, 0x87946877
jmp 0x40a040
cmp eax, 0x4dece089
jg 0x409875
cmp eax, 0x48f18c92
je 0x409c2e
cmp eax, 0x4b79651c
jne 0x40908a
imul eax, dword [ebp - 0x14], 0x5f
add eax, 0xef
mov ecx, eax
imul ecx, eax
shl eax, 0xb
imul edx, ecx, 0x5703
dec edx
add eax, 0xfffffffa
mov dword [ebp - 0x14], eax
mov eax, 0x87946877
cmp ecx, edx
jne 0x409aed
jmp 0x40a040
cmp eax, 0x8a146f17
jg 0x4098b0
cmp eax, 0x840a5579
je 0x409c55
cmp eax, 0x87946877
jne 0x40908a
push 4
push 0x47c852
push 0xe
push dword [ebp - 0x3c]
call fcn.0040a8f0
add esp, 0x10
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x7c], ecx
mov eax, dword [eax + 0xb]
mov dword [ebp - 0x79], eax
lea eax, [ebp - 0x84]
push eax
push dword [ebp - 0x20]
call ebx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], 0x79ae4a35
jmp 0x40908a
cmp eax, 0x25ed8bdc
jg 0x4098c7
cmp eax, 0x15d9955a
je 0x409c70
cmp eax, 0x1fa40e09
jne 0x40908a
mov esi, dword [ebp - 0x18]
mov eax, 0xffffff65
add esi, eax
mov dword [ebp - 0x18], esi
call fcn.0040a078
mov eax, 0x87946877
cmp esi, 0x1e
jl 0x40a040
mov eax, 0xd0460e08
jmp 0x40a040
cmp eax, 0xe544d741
jg 0x40990d
cmp eax, 0xdc89495d
je 0x409cc6
cmp eax, 0xe2605302
jne 0x40908a
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0xe], 0
mov eax, dword [ebp - 0x3c]
movzx ecx, word [str._Rv]
mov word [eax + 0xc], cx
mov ecx, dword [0x47c84c]
mov dword [eax + 8], ecx
mov ecx, dword [0x47c848]
mov dword [eax + 4], ecx
mov ecx, dword [0x47c844]
mov dword [eax], ecx
mov dword [ebp - 0x10], 0x87946877
jmp 0x40908a
cmp eax, 0x7399185e
jg 0x409998
cmp eax, 0x5ead8a11
je 0x409ce0
cmp eax, 0x6c07dc46
jne 0x40908a
mov dword [ebp - 0x10], 0x34436423
jmp 0x40908a
cmp eax, 0xc443767e
jg 0x4099c2
cmp eax, 0xb9650f70
je 0x409d18
cmp eax, 0xbdd9fdec
jne 0x40908a
mov esi, 0xf
push esi
push 0x47c82d
push dword [ebp - 0x38]
call fcn.0044a890
add esp, 0xc
push 8
push str._y:
push esi
push dword [ebp - 0x38]
call fcn.0040a8f0
add esp, 0x10
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x8c], ecx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x94]
push eax
push dword [ebp - 0x20]
call ebx
mov dword [ebp - 0x5c], eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0xf8e559fe
jmp 0x40908a
cmp eax, 0xb296c60
jg 0x4099e4
cmp eax, 0x5ca5926
je 0x409d75
cmp eax, 0xa0be244
jne 0x40908a
mov ecx, dword [ebp - 0x18]
mov eax, ecx
shr eax, 3
add eax, 0x71
mov dword [ebp - 0x18], eax
mov eax, 0xd4b78af1
cmp ecx, 0x40
jb 0x40a040
mov eax, 0xf490fa59
jmp 0x40a040
cmp eax, 0xd0460e08
je 0x409da9
cmp eax, 0xd339d5fe
jne 0x40908a
mov eax, dword [ebp - 0x14]
add eax, 0x48
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x2d4d
shr eax, 2
dec edx
add eax, 0x4c
mov dword [ebp - 0x14], eax
mov eax, 0x15d9955a
cmp edx, ecx
je 0x40a040
mov eax, 0x5ead8a11
jmp 0x40a040
cmp eax, 0x5101437e
je 0x409e06
cmp eax, 0x52c0094f
jne 0x40908a
push eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0xe9f6d0e6
jmp 0x40908a
cmp eax, 0x8fe8d881
je 0x409e30
cmp eax, 0x9ef395ad
jne 0x40908a
imul eax, dword [ebp - 0x14], 0x97
mov ecx, eax
shr ecx, 0xa
shr eax, 0xe
imul ecx, ecx
imul edx, ecx, 0x3bbd
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0x5b668583
cmp ecx, edx
je 0x40a040
mov eax, 0xbdd9fdec
jmp 0x40a040
cmp eax, 0x2fc64b54
je 0x409e68
cmp eax, 0x34436423
jne 0x40908a
mov eax, dword [ebp - 0x58]
push 0
push 0xf
call eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], 0x8fe8d881
jmp 0x40908a
cmp eax, 0xe9f6d0e6
je 0x409e9f
cmp eax, 0xed0da876
jne 0x40908a
mov esi, dword [ebp - 0x18]
shr esi, 0x17
add esi, 0xffffff49
mov dword [ebp - 0x18], esi
push 0x1a09
push esi
push 0x1fcc
push 0x1c6d
call fcn.0040a7c0
add esp, 0x10
mov eax, 0xd4b78af1
cmp esi, 0x3f
jb 0x40a040
mov eax, 0x4147df62
jmp 0x40a040
cmp eax, 0x74fd6f1f
je 0x409eab
cmp eax, 0x79ae4a35
jne 0x40908a
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0x8ba168fd
jmp 0x40908a
cmp eax, 0xb10facfd
je 0x409eba
cmp eax, 0xb274466f
jne 0x40908a
mov dword [ebp - 0x10], 0xac54653c
jmp 0x40908a
cmp eax, 0x231b4d6
je 0x409ef4
cmp eax, 0x446e549
jne 0x40908a
mov eax, dword [ebp - 0x40]
mov byte [eax + 0xb], 0
mov eax, dword [ebp - 0x40]
mov cl, byte [0x47c860]
mov byte [eax + 0xa], cl
movzx ecx, word [0x47c85e]
mov word [eax + 8], cx
mov ecx, dword [0x47c85a]
mov dword [eax + 4], ecx
mov ecx, dword [0x47c856]
mov dword [eax], ecx
push 8
push 0x47c861
push 0xb
push dword [ebp - 0x40]
call fcn.0040a8f0
add esp, 0x10
mov dword [ebp - 0x10], 0x7399185f
jmp 0x40908a
cmp eax, 0xc74ee642
je 0x409f33
cmp eax, 0xcb2d4c25
jne 0x40908a
mov eax, dword [ebp - 0x18]
add eax, 0xffffffdd
shr eax, 0x1f
mov dword [ebp - 0x18], eax
push eax
push 0x534d
push 0x5e92
push 0x16d9
call fcn.0040a8f0
add esp, 0x10
mov dword [ebp - 0x10], 0xf490fa59
jmp 0x40908a
cmp eax, 0x4dece08a
je 0x409f4d
cmp eax, 0x4fa8551d
jne 0x40908a
push dword [ebp + 8]
push dword [ebp - 0x70]
call fcn.0045c9dd
add esp, 8
mov ecx, 0x7b77bc8f
test eax, eax
je 0x409fa6
mov ecx, 0x840a5579
jmp 0x409fa6
cmp eax, 0x8a146f18
je 0x409f79
cmp eax, 0x8ba168fd
je 0x409901
jmp 0x40908a
cmp eax, 0x25ed8bdd
je 0x409fae
cmp eax, 0x2d53bf60
jne 0x40908a
mov dword [ebp - 0x18], edi
push edi
call fcn.0040906c
add esp, 4
push 0x36e3
push edi
push 0x2891
push 0x5828
call fcn.0040a8f0
add esp, 0x10
mov dword [ebp - 0x10], 0x52c0094f
jmp 0x40908a
cmp eax, 0xe544d742
je 0x409fc4
cmp eax, 0xe9975444
jne 0x40908a
push dword [ebp - 0x28]
push dword [ebp - 0x20]
call ebx
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x2c]
sub esp, 0xc
mov esi, esp
mov byte [esi + 0xb], 0
mov al, byte [0x47c888]
mov byte [esi + 0xa], al
movzx eax, word [0x47c886]
mov word [esi + 8], ax
mov eax, dword [str.pM_]
mov dword [esi + 4], eax
mov eax, dword [0x47c87e]
mov dword [esi], eax
push 7
push 0x47c889
push 0xb
push esi
call fcn.0040a8f0
add esp, 0x10
mov eax, dword [ebp - 0x2c]
mov ecx, dword [esi + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [eax + 4], edx
mov dword [eax], ecx
push dword [ebp - 0x2c]
push dword [ebp - 0x20]
call ebx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x10], 0x6c07dc46
jmp 0x40908a
cmp eax, 0x7399185f
je 0x409fef
cmp eax, 0x742e0221
jne 0x40908a
mov eax, dword [ebp - 0x50]
push dword [ebp - 0x4c]
call eax
mov dword [ebp - 0x10], 0x5a2b3fc9
jmp 0x40908a
cmp eax, 0xc443767f
je 0x40a011
cmp eax, 0xc4aa367c
jne 0x40908a
mov dword [ebp - 0x10], 0x4fa8551d
jmp 0x40908a
cmp eax, 0xb296c61
je 0x40a048
cmp eax, 0x1347eb9c
jne 0x40908a
push eax
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
add eax, 0x18
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x10], 0xf490fa59
jmp 0x40908a
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xb5a096ce
jmp 0x40908a
mov eax, dword [ebp - 0x30]
mov word [eax + 0x18], 0
push 0x18
push 0x46f530
push dword [ebp - 0x30]
call fcn.0044a890
add esp, 0xc
push 7
push 0x46f548
push 0xc
push dword [ebp - 0x30]
call fcn.0040a7c0
add esp, 0x10
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0xc5f299bf
jmp 0x40908a
mov eax, dword [ebp - 0x18]
shr eax, 4
and eax, 0x7ffffff
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x5b668583
jmp 0x40908a
mov dword [ebp - 0x10], 0x79c5bcd5
jmp 0x40908a
mov dword [ebp - 0x10], 0xb5c9ae72
jmp 0x40908a
cmp dword [ebp - 0x6c], 0
mov eax, 0xc74ee642
je 0x40a040
mov eax, 0x8a146f18
jmp 0x40a040
mov eax, dword [ebp - 0x14]
mov ecx, 0xffffff69
add eax, ecx
shr eax, 4
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x55df
dec edx
add eax, 0xffffff30
mov dword [ebp - 0x14], eax
mov eax, 0x52c0094f
cmp edx, ecx
je 0x40a040
mov eax, 0xc4aa367c
jmp 0x40a040
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0xf4593bdd
jmp 0x40908a
mov esi, dword [ebp - 0x18]
add esi, 0xffffffe5
mov dword [ebp - 0x18], esi
push 0x2fe5
push 0x413e
push 0xa42
push esi
call fcn.0040a7c0
add esp, 0x10
mov eax, 0x446e549
cmp esi, 0x4a
je 0x40a040
mov eax, 0xe9f6d0e6
jmp 0x40a040
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0x22c
mov eax, dword [ebp - 0x5c]
push dword [ebp - 0x1c]
push dword [ebp - 0x48]
call eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x10], 0xc443767f
jmp 0x40908a
mov eax, dword [ebp - 0x60]
push dword [ebp - 0x1c]
push dword [ebp - 0x48]
call eax
mov ecx, 0xb274466f
test eax, eax
je 0x409fa6
mov ecx, 0x4b79651c
jmp 0x409fa6
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0xe2]
imul ecx, ecx
imul edx, ecx, 0xb65
dec edx
shl eax, 0xb
add eax, 0x3a000
mov dword [ebp - 0x14], eax
mov eax, 0xcb2d4c25
cmp ecx, edx
je 0x40a040
mov eax, 0x446e549
jmp 0x40a040
mov eax, dword [ebp - 0x1c]
add eax, 0x24
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x10], 0x34a85f49
jmp 0x40908a
mov ecx, dword [ebp - 0x14]
imul eax, ecx, 0xfb
add eax, 0xffff5b48
imul eax, eax
imul edx, eax, 0xe03
dec edx
imul ecx, ecx, 0x47930
add ecx, 0xfd1071a8
mov dword [ebp - 0x14], ecx
mov ecx, 0xbdd9fdec
cmp edx, eax
je 0x409fa6
mov ecx, 0xe2605302
jmp 0x409fa6
imul eax, dword [ebp - 0x14], 0xa8
shr eax, 0x15
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x1347eb9c
jmp 0x40908a
mov ecx, dword [ebp - 0x18]
shl ecx, 7
add ecx, 0xffffff9a
mov eax, ecx
shr eax, 0xc
mov dword [ebp - 0x18], eax
mov eax, 0xd62d79db
cmp ecx, 0xd9000
jb 0x409e95
jmp 0x40a040
imul eax, dword [ebp - 0x14], 0x77a40000
add eax, 0xffeaaf0e
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x5a2b3fc9
jmp 0x40908a
imul eax, dword [ebp - 0x18], 0xa6
add eax, 0xffffff42
shr eax, 4
mov ecx, eax
shl ecx, 5
lea esi, [ecx + eax*2]
mov dword [ebp - 0x18], esi
push esi
call fcn.0040906c
add esp, 4
push esi
push 0x5a8
push 0x190c
push 0x227c
call fcn.0040a8f0
add esp, 0x10
mov eax, 0xd4b78af1
cmp esi, 0xc9
jb 0x40a040
mov eax, 0xed0da876
jmp 0x40a040
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call ebx
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], 0xd62d79db
jmp 0x40908a
push 0x19
push dword [ebp - 0x34]
lea esi, [ebp - 0xad]
push esi
call fcn.0044a890
add esp, 0xc
push esi
push dword [ebp - 0x20]
call ebx
mov dword [ebp - 0x58], eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov byte [eax + 0xf], 0
mov dword [ebp - 0x10], 0x9ef395ad
jmp 0x40908a
mov esi, dword [ebp - 0x18]
shl esi, 5
and esi, 0x3ffffc00
or esi, 0x72
mov dword [ebp - 0x18], esi
push 0x1d9e
push 0x60a0
push 0x28bb
push esi
call fcn.0040a8f0
add esp, 0x10
push 0x2bb3
push esi
push 0x2c7a
push 0x5960
call fcn.0040a7c0
add esp, 0x10
mov eax, 0xe9975444
cmp esi, 0x89
jb 0x40a040
mov eax, 0x52c0094f
jmp 0x40a040
imul esi, dword [ebp - 0x18], 0x5fa0
add esi, 0x12ad40
mov dword [ebp - 0x18], esi
push esi
call fcn.0040906c
add esp, 4
mov eax, 0x2d53bf60
cmp esi, 0xe7
jl 0x40a040
mov eax, 0xf2c135a5
jmp 0x40a040
mov eax, dword [ebp - 0x44]
mov byte [eax + 0x10], 0
mov eax, dword [ebp - 0x44]
mov ecx, dword [0x47c875]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x47c871]
mov dword [eax + 8], ecx
mov ecx, dword [0x47c86d]
mov dword [eax + 4], ecx
mov ecx, dword [0x47c869]
mov dword [eax], ecx
push 5
push 0x47c879
push 0x10
push dword [ebp - 0x44]
call fcn.0040a8f0
add esp, 0x10
push 0x11
push dword [ebp - 0x44]
push dword [ebp - 0x28]
call fcn.0044a890
add esp, 0xc
mov dword [ebp - 0x10], 0x2231c25
jmp 0x40908a
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x64]
push dword [eax]
push 0
push 1
call ecx
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
mov eax, 0xb10facfd
je 0x40a040
mov eax, 0x25ed8bdd
jmp 0x40a040
mov eax, dword [ebp - 0x14]
shr eax, 1
add eax, 0xfffffff9
imul ecx, eax, 0x4608
imul eax, eax
imul edx, eax, 0x5583
dec edx
add ecx, 0xfffffe2f
mov dword [ebp - 0x14], ecx
mov ecx, 0x1fa40e09
cmp eax, edx
je 0x409fa6
mov ecx, 0x367e9265
jmp 0x409fa6
mov esi, dword [ebp - 0x18]
add esi, 5
mov eax, esi
shr eax, 0xb
mov dword [ebp - 0x18], eax
push eax
call fcn.0040906c
add esp, 4
call fcn.0040a078
mov eax, 0xa0be244
cmp esi, 0x1d000
jb 0x40a040
mov eax, 0xe2605302
jmp 0x40a040
mov dword [ebp - 0x10], 0x79dcd6a1
jmp 0x40908a
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0xd39e5d44
jmp 0x40908a
mov eax, dword [ebp - 0x14]
lea ecx, [eax - 0xc3]
lea edx, [ecx + ecx*8]
imul ecx, ecx
imul esi, ecx, 0x6483
dec esi
lea edx, [edx + edx*2]
add eax, edx
add eax, 0xffffff3d
mov dword [ebp - 0x14], eax
mov eax, 0x48f18c92
cmp esi, ecx
je 0x40a040
mov eax, 0x5a2b3fc9
jmp 0x40a040
mov esi, dword [ebp - 0x18]
shl esi, 0xf
add esi, 0x328000
mov dword [ebp - 0x18], esi
push 0x4865
push 0xd90
push esi
push 0x3d68
call fcn.0040a8f0
add esp, 0x10
mov eax, 0xc5fa051d
cmp esi, 0x11
jge 0x40a040
mov eax, 0x4dece08a
jmp 0x40a040
mov eax, dword [ebp - 0x14]
shl eax, 0x12
add eax, 0x1000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xb274466f
jmp 0x40908a
mov eax, dword [ebp - 0x18]
shl eax, 2
and eax, 0xffff8000
imul eax, eax, 0xec
add eax, 0xfffffff7
mov dword [ebp - 0x18], eax
push eax
call fcn.0040906c
add esp, 4
mov dword [ebp - 0x10], 0xe2605302
jmp 0x40908a
mov ecx, dword [ebp - 0x14]
lea eax, [ecx - 1]
imul eax, eax
add ecx, 0x194
imul edx, eax, 0x6c87
dec edx
shr ecx, 2
and ecx, 0xfffffffe
mov dword [ebp - 0x14], ecx
mov ecx, 0x52c0094f
cmp eax, edx
je 0x409fa6
mov ecx, 0xa10ace44
mov dword [ebp - 0x10], ecx
jmp 0x40908a
mov eax, dword [ebp - 0x68]
push 0
push dword [ebp - 0x4c]
call eax
mov dword [ebp - 0x10], 0x742e0221
jmp 0x40908a
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0x1d]
imul ecx, ecx
imul edx, ecx, 0x41e3
shl eax, 0xc
dec edx
add eax, 0xfffe709d
mov dword [ebp - 0x14], eax
mov eax, 0x578adb76
cmp edx, ecx
je 0x40a040
mov eax, 0xd4b78af1
jmp 0x40a040
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x40]
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
mov dword [ebp - 0x10], 0xdc89495d
jmp 0x40908a
mov eax, dword [ebp - 0x14]
mov ecx, 0xffffff2c
add eax, ecx
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x1207
dec edx
shl eax, 4
and eax, 0x3fffff0
mov dword [ebp - 0x14], eax
mov eax, 0xd4b78af1
cmp ecx, edx
je 0x40a040
mov eax, 0xa140a1ab
mov dword [ebp - 0x10], eax
jmp 0x40908a
mov eax, dword [ebp - 0x14]
shl eax, 6
add eax, 0xffffd900
shr eax, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xd0460e08
jmp 0x40908a
cmp eax, 0xb5a096ce
jne 0x40908a
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret