Function at 0x406870
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x64
mov dword [ebp - 0x10], 0x204b3ed8
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, 0x636f7250
mov eax, dword [ebp - 0x10]
cmp eax, 0x64d2d50
jle 0x4068f5
cmp eax, 0x4616c897
jg 0x40694f
cmp eax, 0x204b3ed7
jg 0x406a27
cmp eax, 0x16135bf6
jle 0x406b54
cmp eax, 0x191d7f5d
jg 0x406d6a
cmp eax, 0x16135bf7
je 0x406ecb
cmp eax, 0x17dbd9f7
jne 0x40688b
push eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x30], eax
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x34], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0x359a4a84
jmp 0x40688b
cmp eax, 0xd40623c9
jle 0x4069b8
cmp eax, 0xe7ed2c97
jg 0x406a5f
cmp eax, 0xdee81454
jle 0x406ba9
cmp eax, 0xe3a20263
jg 0x406d8f
cmp eax, 0xdee81455
je 0x406efd
cmp eax, 0xe183f7d2
jne 0x40688b
mov dword [ebp - 0x14], 0x8d
call fcn.0040733c
mov dword [ebp - 0x10], 0x16135bf7
jmp 0x40688b
cmp eax, 0x614631ba
jg 0x406ab8
cmp eax, 0x56fb1c8c
jle 0x406bfa
cmp eax, 0x5b1bebb3
jg 0x406dc4
cmp eax, 0x56fb1c8d
je 0x406f2b
cmp eax, 0x59b82ec3
jne 0x40688b
mov eax, dword [ebp - 0x14]
lea ecx, [eax + eax*8]
lea ecx, [ecx + ecx*2]
lea edi, [eax + ecx]
add edi, 0x5b9
mov dword [ebp - 0x14], edi
call fcn.00406870
mov eax, 0xe88c259a
cmp edi, 0x5c
jge 0x407300
mov eax, 0x435e3da1
jmp 0x407300
cmp eax, 0x9a29c657
jle 0x406b0f
cmp eax, 0xbe8bd99f
jle 0x406c27
cmp eax, 0xca7d9611
jg 0x406df7
cmp eax, 0xbe8bd9a0
je 0x406f51
cmp eax, 0xc92049e7
jne 0x40688b
mov eax, dword [ebp - 0x18]
mov ecx, 0xf7
add eax, ecx
shr eax, 8
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x561d
add eax, 0xc7
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xe183f7d2
cmp edx, ecx
je 0x407300
mov eax, 0x5577d6d4
jmp 0x407300
cmp eax, 0x359a4a83
jle 0x406c74
cmp eax, 0x39b38a11
jg 0x406e38
cmp eax, 0x359a4a84
je 0x406f6b
cmp eax, 0x374a509b
jne 0x40688b
mov dword [ebp - 0x10], 0x99952f51
jmp 0x40688b
cmp eax, 0xf2bf8b36
jle 0x406cbb
cmp eax, 0xfc8aaaed
jg 0x406e7c
cmp eax, 0xf2bf8b37
je 0x406fa5
cmp eax, 0xf46168c7
jne 0x40688b
mov eax, dword [ebp - 0x14]
shl eax, 0xa
add eax, 0xfffcd000
shr eax, 8
add eax, 0xffffffc0
shr eax, 0xa
imul ecx, eax, 0x78
mov dword [ebp - 0x14], ecx
mov eax, 0xe88c259a
cmp ecx, 0x37
jb 0x40707b
jmp 0x407300
cmp eax, 0x709e7a24
jg 0x406cf9
cmp eax, 0x66024f5c
jg 0x406eab
cmp eax, 0x614631bb
je 0x406fbe
cmp eax, 0x615b110f
jne 0x40688b
mov edi, dword [ebp - 0x14]
mov eax, edi
shr eax, 0x19
mov dword [ebp - 0x14], eax
call fcn.00406870
mov eax, 0xd7df6f29
cmp edi, 0x7e000000
jae 0x407300
mov eax, 0x709e7a25
jmp 0x407300
cmp eax, 0x8e8d4c6e
jg 0x406d35
cmp eax, 0x852c33ef
je 0x406fd7
cmp eax, 0x8a7477c9
je 0x406ff4
cmp eax, 0x8dbaef5b
jne 0x40688b
cmp dword [ebp - 0x40], 0
mov eax, 0xeec6e15
je 0x407300
mov eax, 0xfc8aaaee
jmp 0x407300
cmp eax, 0x64d2d51
je 0x407003
cmp eax, 0xda8ad0d
je 0x40701c
cmp eax, 0xeec6e15
jne 0x40688b
mov eax, dword [ebp - 0x18]
lea ecx, [eax - 0x59]
imul ecx, ecx
imul edx, ecx, 0x3c33
dec edx
lea eax, [eax*8 - 0x3a0]
and eax, 0xfffffff0
mov dword [ebp - 0x18], eax
mov eax, 0x59b82ec3
cmp ecx, edx
je 0x407300
mov eax, 0x934be26f
jmp 0x407300
cmp eax, 0xd40623ca
je 0x40705b
cmp eax, 0xd7df6f29
je 0x407085
cmp eax, 0xd91beb26
jne 0x40688b
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0x8b]
add eax, 0x1c
imul ecx, ecx
imul edx, ecx, 0x3587
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0x709e7a25
cmp edx, ecx
je 0x407300
mov eax, 0x2154265c
jmp 0x407300
cmp eax, 0x4616c898
je 0x40709c
cmp eax, 0x4861e6c3
je 0x4070b6
cmp eax, 0x5577d6d4
jne 0x40688b
mov dword [ebp - 0x10], 0x71c5912e
jmp 0x40688b
cmp eax, 0x9a29c658
je 0x4070e5
cmp eax, 0xab26b6ce
je 0x4070f1
cmp eax, 0xb215b350
jne 0x40688b
mov eax, dword [ebp - 0x18]
add eax, 0xffffffc2
mov dword [ebp - 0x18], eax
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x7a13
dec edx
mov eax, 0x8e8d4c6f
cmp ecx, edx
je 0x407300
mov eax, 0x614631bb
jmp 0x407300
cmp eax, 0x204b3ed8
je 0x40710c
cmp eax, 0x2154265c
je 0x407131
cmp eax, 0x23667d06
jne 0x40688b
mov eax, dword [ebp - 0x14]
shr eax, 2
and eax, 0xffffff80
imul ecx, eax, 0x58
mov dword [ebp - 0x14], ecx
mov eax, 0x852c33ef
test ecx, ecx
je 0x407300
mov eax, 0x17dbd9f7
jmp 0x407300
cmp eax, 0xe7ed2c98
je 0x40714f
cmp eax, 0xe88c259a
je 0x40716f
cmp eax, 0xe8b92922
jne 0x40688b
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x54]
push dword [eax]
push 0
push 1
call ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0x8dbaef5b
jmp 0x40688b
cmp eax, 0x709e7a25
je 0x407187
cmp eax, 0x71c5912e
je 0x4071bf
cmp eax, 0x79499e71
jne 0x40688b
imul eax, dword [ebp - 0x18], 0x3d8c000
or eax, 0xd5
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x934be26f
jmp 0x40688b
cmp eax, 0x8e8d4c6f
je 0x407231
cmp eax, 0x934be26f
je 0x40725a
cmp eax, 0x99952f51
jne 0x40688b
mov eax, dword [0x45fbe0]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x10], 0x603edea5
jmp 0x40688b
cmp eax, 0x191d7f5e
je 0x407266
cmp eax, 0x1ab0e90e
jne 0x40688b
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0x6fa4c2e4
jmp 0x40688b
cmp eax, 0xe3a20264
je 0x407280
cmp eax, 0xe7685976
jne 0x40688b
imul eax, dword [ebp - 0x14], 0x39
add eax, 0x6a
shr eax, 2
imul eax, eax, 0x530
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x435e3da1
jmp 0x40688b
cmp eax, 0x5b1bebb4
je 0x40728f
cmp eax, 0x603edea5
jne 0x40688b
push dword [ebp - 0x6c]
push dword [ebp - 0x60]
call fcn.0044236a
add esp, 8
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x10], 0xab26b6ce
jmp 0x40688b
cmp eax, 0xca7d9612
je 0x4072a7
cmp eax, 0xcdfae9e1
jne 0x40688b
imul ecx, dword [ebp - 0x14], 0xc0f
add ecx, 0xffffd026
mov dword [ebp - 0x14], ecx
mov eax, 0x709e7a25
cmp ecx, 0xf8
jb 0x407300
mov eax, 0xf46168c7
jmp 0x407300
cmp eax, 0x39b38a12
je 0x4072d6
cmp eax, 0x435e3da1
jne 0x40688b
mov eax, dword [ebp - 0x38]
mov dword [eax + 8], 0x656c64
mov dword [eax + 4], 0x6e614865
mov dword [eax], 0x736f6c43
push dword [ebp - 0x38]
push dword [ebp - 0x20]
call ebx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0x9a29c658
jmp 0x40688b
cmp eax, 0xfc8aaaee
je 0x407308
cmp eax, 0x60ca634
jne 0x40688b
mov eax, dword [ebp - 0x14]
add eax, 0x6f
and eax, 0x3ffffff
imul eax, eax, 0xb3
shr eax, 0xb
jmp 0x406fe5
cmp eax, 0x6fa4c2e4
jne 0x407326
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0x22c
mov dword [ebp - 0x10], 0xda8ad0d
jmp 0x40688b
imul edi, dword [ebp - 0x14], 0x230100
add edi, 0x29f880
mov dword [ebp - 0x14], edi
call fcn.00406870
call fcn.00406870
mov eax, 0xe7ed2c98
cmp edi, 0x74
jge 0x407300
mov eax, 0x615b110f
jmp 0x407300
mov eax, dword [ebp - 0x18]
shr eax, 0xc
and eax, 0x3ffff
imul ecx, eax, 0x25c00
imul eax, eax
imul edx, eax, 0x33b
dec edx
mov dword [ebp - 0x18], ecx
mov ecx, 0xf2bf8b37
cmp edx, eax
je 0x406f9d
mov ecx, 0x934be26f
jmp 0x406f9d
mov eax, dword [ebp - 0x44]
push dword [ebp - 0x3c]
call eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], 0x66024f5d
jmp 0x40688b
mov eax, dword [ebp - 0x4c]
push dword [ebp - 0x1c]
push dword [ebp - 0x3c]
call eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x10], 0xb215b350
jmp 0x40688b
mov eax, dword [ebp - 0x18]
shr eax, 0xe
add eax, 0xffffff41
imul ecx, eax, 0x3e4
imul eax, eax
imul edx, eax, 0x1277
dec edx
add ecx, 0x2f0
mov dword [ebp - 0x18], ecx
mov ecx, 0x191d7f5e
cmp eax, edx
je 0x406f9d
mov ecx, 0xe88c259a
mov dword [ebp - 0x10], ecx
jmp 0x40688b
cmp dword [ebp - 0x70], 0
mov eax, 0xe8b92922
je 0x407300
mov eax, 0xdee81455
jmp 0x407300
cmp dword [ebp - 0x5c], 0
mov eax, 0x56fb1c8d
je 0x407300
mov eax, 0xd91beb26
jmp 0x407300
mov eax, dword [ebp - 0x14]
shl eax, 0x1d
add eax, 0xf0000000
shr eax, 5
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x17dbd9f7
jmp 0x40688b
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x10], 0x435e3da1
jmp 0x40688b
cmp dword [ebp - 0x68], 0
mov eax, 0x56fb1c8d
je 0x407300
mov eax, 0x374a509b
jmp 0x407300
imul eax, dword [ebp - 0x18], 0x8f
shr eax, 7
lea ecx, [eax - 0xd2]
imul ecx, ecx
shl eax, 0xe
add eax, 0xff9dc000
imul edx, ecx, 0x122d
dec edx
shr eax, 0xd
mov dword [ebp - 0x18], eax
mov eax, 0xcdfae9e1
cmp edx, ecx
je 0x407300
mov eax, 0xbe8bd9a0
jmp 0x407300
mov ecx, dword [ebp - 0x14]
shr ecx, 8
and ecx, 0x3ffff
mov dword [ebp - 0x14], ecx
mov eax, 0xe7685976
cmp ecx, 0xae
je 0x407300
mov eax, 0x6fa4c2e4
jmp 0x407300
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], 0xe3a20264
jmp 0x40688b
mov eax, dword [ebp - 0x50]
push dword [ebp - 0x1c]
push dword [ebp - 0x3c]
call eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x10], 0x64d2d51
jmp 0x40688b
mov eax, dword [ebp - 0x14]
shr eax, 6
imul edi, eax, 0xdc
mov dword [ebp - 0x14], edi
call fcn.0040733c
mov eax, 0x17dbd9f7
cmp edi, 0xb1
jae 0x407300
mov eax, 0x60ca634
jmp 0x407300
mov dword [ebp - 0x10], 0x5b1bebb4
jmp 0x40688b
imul eax, dword [ebp - 0x18], 0x7400000
add eax, 0x63fd640
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xf2bf8b37
jmp 0x40688b
push eax
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x24], eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x28], eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0x17dbd9f7
jmp 0x40688b
mov eax, dword [ebp - 0x1c]
add eax, 0x24
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x10], 0x374a509b
jmp 0x40688b
imul eax, dword [ebp - 0x14], 0x1d8000
add eax, 0x1a81049c
mov dword [ebp - 0x14], eax
call fcn.0040733c
mov dword [ebp - 0x10], 0x709e7a25
jmp 0x40688b
push eax
sub esp, 0x228
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xca7d9612
jmp 0x40688b
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xc], 0x577473
mov dword [eax + 8], 0x72694632
mov dword [eax + 4], 0x33737365
mov dword [eax], 0x636f7250
push dword [ebp - 0x28]
push dword [ebp - 0x20]
call ebx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], 0xc92049e7
jmp 0x40688b
mov eax, dword [ebp - 0x2c]
mov dword [eax], esi
mov dword [eax + 0xb], 0x577478
mov dword [eax + 8], 0x78654e32
mov dword [eax + 4], 0x33737365
push dword [ebp - 0x2c]
push dword [ebp - 0x20]
call ebx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov dword [eax + 4], esi
mov dword [eax], 0x6e65704f
mov dword [eax + 8], 0x737365
push dword [ebp - 0x30]
push dword [ebp - 0x20]
call ebx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x34]
push 0x11
push 0x45468c
push dword [ebp - 0x34]
call fcn.004333a0
add esp, 0xc
push dword [ebp - 0x34]
push dword [ebp - 0x20]
call ebx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x10], 0x8a7477c9
jmp 0x40688b
mov edi, dword [ebp - 0x14]
add edi, 0x1d
shr edi, 0xd
mov dword [ebp - 0x14], edi
call fcn.0040733c
mov eax, 0xca7d9612
cmp edi, 0x3c
je 0x407300
mov eax, 0xd40623ca
jmp 0x407300
mov dword [ebp - 0x10], 0x4616c898
jmp 0x40688b
mov eax, dword [ebp - 0x14]
shl eax, 0xe
add eax, 0xffffff46
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x23667d06
jmp 0x40688b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], 0x709e7a25
jmp 0x40688b
mov eax, dword [ebp - 0x48]
push 0
push 0xf
call eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0x1ab0e90e
jmp 0x40688b
push 0x454350
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
push 0x19
push str.CreateToolhelp32Snapshot
push dword [ebp - 0x24]
call fcn.004333a0
add esp, 0xc
mov dword [ebp - 0x10], 0xd7df6f29
jmp 0x40688b
mov edi, dword [ebp - 0x14]
add edi, 0xffffffd5
mov eax, edi
shr eax, 8
mov dword [ebp - 0x14], eax
call fcn.00406870
call fcn.00406870
mov eax, 0x99952f51
cmp edi, 0x3800
jb 0x407300
mov eax, 0x71c5912e
mov dword [ebp - 0x10], eax
jmp 0x40688b
mov eax, dword [ebp - 0x58]
push 0
push dword [ebp - 0x40]
call eax
mov eax, dword [ebp - 0x44]
push dword [ebp - 0x40]
call eax
mov dword [ebp - 0x10], 0x79499e71
jmp 0x40688b
cmp eax, 0x66024f5d
jne 0x40688b
mov eax, dword [ebp - 0x24]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret