Function at 0x406bb0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x42ca1c
mov eax, dword fs:[0]
push eax
sub esp, 0x418
mov eax, dword [0x433150]
xor eax, esp
mov dword [esp + 0x414], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x433150]
xor eax, esp
push eax
lea eax, [esp + 0x42c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x454]
mov dword [esp + 0x40], eax
xor esi, esi
push 0x103
lea ecx, [esp + 0x225]
push esi
push ecx
mov dword [esp + 0x440], esi
mov byte [esp + 0x22c], 0
call fcn.0040b4e0
add esp, 0xc
push 0x104
lea edx, [esp + 0x224]
push edx
push esi
call dword [0x42d090]
push eax
call dword [0x42d08c]
lea eax, [esp + 0x220]
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], esi
mov byte [esp + 0x90], 0
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x406c60
sub eax, ecx
push eax
lea eax, [esp + 0x224]
push eax
lea ecx, [esp + 0x94]
call fcn.00403bf0
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x90]
mov byte [esp + 0x434], 1
cmp ecx, 0x10
jb 0x40704a
mov edi, edx
mov dword [esp + 0x14], edi
cmp edx, esi
je 0x406cd4
mov eax, edx
cmp ecx, 0x10
jae 0x406cb5
lea eax, [esp + 0x90]
cmp eax, edi
ja 0x406cd4
mov eax, edx
cmp ecx, 0x10
jae 0x406cc7
lea eax, [esp + 0x90]
mov ebx, dword [esp + 0xa0]
add eax, ebx
cmp edi, eax
jbe 0x406cee
call fcn.0040b6f6
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
mov edx, dword [esp + 0x90]
lea ebp, [esp + 0x8c]
mov eax, edx
cmp ecx, 0x10
jae 0x406d03
lea eax, [esp + 0x90]
lea edi, [ebx + eax]
cmp edi, esi
je 0x406d30
mov eax, edx
cmp ecx, 0x10
jae 0x406d18
lea eax, [esp + 0x90]
cmp eax, edi
ja 0x406d30
mov eax, edx
cmp ecx, 0x10
jae 0x406d2a
lea eax, [esp + 0x90]
add eax, ebx
cmp edi, eax
jbe 0x406d4a
call fcn.0040b6f6
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
mov edx, dword [esp + 0x90]
cmp ecx, 0x10
jb 0x40705a
mov esi, edx
test edx, edx
je 0x406d7f
mov eax, edx
cmp ecx, 0x10
jae 0x406d67
lea eax, [esp + 0x90]
cmp eax, esi
ja 0x406d7f
mov eax, edx
cmp ecx, 0x10
jae 0x406d79
lea eax, [esp + 0x90]
add eax, ebx
cmp esi, eax
jbe 0x406d84
call fcn.0040b6f6
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov byte [esp + 0x1c], 0
mov ecx, dword [esp + 0x1c]
push ecx
push edx
push 0x40c707
push eax
push ebp
push edi
lea ecx, [esp + 0x38]
push esi
push ecx
call fcn.00403280
add esp, 0x20
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], 0
mov byte [esp + 0xac], 0
push 1
push 0xffffffffffffffff
push 0x42d444
lea ecx, [esp + 0x98]
mov byte [esp + 0x440], 2
call fcn.00402080
cmp eax, 0xffffffff
je 0x406e39
push eax
push 0
lea edx, [esp + 0x78]
push edx
lea ecx, [esp + 0x98]
call fcn.00404670
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0x440], 3
call fcn.00403a10
cmp dword [esp + 0x88], 0x10
mov byte [esp + 0x434], 2
jb 0x406e39
mov eax, dword [esp + 0x74]
push eax
call fcn.0040b32c
add esp, 4
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x406edc
mov bl, 4
lea ebx, [ebx]
lea esi, [eax - 1]
cmp eax, esi
ja 0x406e63
call fcn.0040ae9d
mov eax, dword [esp + 0xbc]
cmp dword [esp + 0xc0], 0x10
mov ecx, dword [esp + 0xac]
jae 0x406e7b
lea ecx, [esp + 0xac]
cmp byte [ecx + esi], 0x5c
jne 0x406edc
dec eax
push eax
push 0
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0xb4]
call fcn.00404670
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0x440], bl
call fcn.00403a10
cmp dword [esp + 0x88], 0x10
mov byte [esp + 0x434], 2
jb 0x406ecd
mov edx, dword [esp + 0x74]
push edx
call fcn.0040b32c
add esp, 4
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x406e50
push 0x42d444
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x78]
push ecx
call fcn.00405320
add esp, 0xc
push 0xffffffffffffffff
xor ebx, ebx
push ebx
push eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0x440], 5
call fcn.00403a10
mov edi, 0x10
mov byte [esp + 0x434], 2
cmp dword [esp + 0x88], edi
jb 0x406f33
mov edx, dword [esp + 0x74]
push edx
call fcn.0040b32c
add esp, 4
lea ecx, [esp + 0x28]
call fcn.00405560
push str..dll
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0xcc]
push ecx
mov byte [esp + 0x440], 6
call fcn.00405320
add esp, 0xc
mov eax, dword [esp + 0xc8]
mov byte [esp + 0x434], 7
cmp dword [esp + 0xdc], edi
jae 0x406f80
lea eax, [esp + 0xc8]
lea edx, [esp + 0xe0]
push edx
push eax
call dword [0x42d088]
mov dword [esp + 0x18], eax
cmp eax, 0xffffffff
jne 0x407070
cmp dword [esp + 0xdc], edi
jb 0x406fb5
mov eax, dword [esp + 0xc8]
push eax
call fcn.0040b32c
add esp, 4
mov esi, 0xf
lea ecx, [esp + 0x28]
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd8], ebx
mov byte [esp + 0xc8], 0
call fcn.00406560
cmp dword [esp + 0xc0], edi
jb 0x406ff2
mov ecx, dword [esp + 0xac]
push ecx
call fcn.0040b32c
add esp, 4
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], 0
cmp dword [esp + 0xa4], edi
jb 0x407021
mov edx, dword [esp + 0x90]
push edx
call fcn.0040b32c
add esp, 4
lea ecx, [esp + 0x43c]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], 0
call fcn.00406560
xor al, al
jmp 0x4079f4
lea edi, [esp + 0x90]
mov dword [esp + 0x14], edi
jmp 0x406ca7
lea esi, [esp + 0x90]
jmp 0x406d59
push 1
push 0x42d458
lea ecx, [esp + 0x78]
mov dword [esp + 0x90], 0xf
mov dword [esp + 0x8c], 0
mov byte [esp + 0x7c], 0
call fcn.00403bf0
lea eax, [esp + 0x10c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4070a5
mov edi, dword [esp + 0x84]
sub eax, edx
mov esi, eax
mov ecx, edi
cmp edi, esi
jb 0x4070bf
mov ecx, esi
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0x74]
cmp ebp, 0x10
jae 0x4070d3
lea eax, [esp + 0x74]
push ecx
lea ecx, [esp + 0x110]
push ecx
push eax
call fcn.004012a0
add esp, 0xc
test eax, eax
jne 0x4070f9
cmp edi, esi
jae 0x4070f2
or eax, 0xffffffff
jmp 0x4070f9
xor eax, eax
cmp edi, esi
setne al
xor esi, esi
cmp eax, esi
sete bl
mov byte [esp + 0x434], 7
cmp ebp, 0x10
jb 0x40711a
mov edx, dword [esp + 0x74]
push edx
call fcn.0040b32c
add esp, 4
test bl, bl
jne 0x407311
push 2
mov edi, 0xf
push 0x42d454
lea ecx, [esp + 0x78]
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], esi
mov byte [esp + 0x7c], bl
call fcn.00403bf0
lea eax, [esp + 0x10c]
mov byte [esp + 0x434], 9
lea edx, [eax + 1]
jmp 0x407160
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407160
mov ecx, dword [esp + 0x84]
sub eax, edx
push eax
lea eax, [esp + 0x110]
push eax
push ecx
push esi
lea ecx, [esp + 0x80]
call fcn.00402120
test eax, eax
sete bl
cmp dword [esp + 0x88], 0x10
mov byte [esp + 0x434], 7
jb 0x4071ab
mov edx, dword [esp + 0x74]
push edx
call fcn.0040b32c
add esp, 4
test bl, bl
jne 0x407311
lea eax, [esp + 0x10c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], esi
mov byte [esp + 0x58], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4071d0
sub eax, edx
push eax
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x5c]
call fcn.00403bf0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x58]
mov byte [esp + 0x434], 0xa
cmp ecx, 0x10
jb 0x4073f2
mov edi, edx
mov dword [esp + 0x14], edi
cmp edx, esi
je 0x407232
mov eax, edx
cmp ecx, 0x10
jae 0x407219
lea eax, [esp + 0x58]
cmp eax, edi
ja 0x407232
mov eax, edx
cmp ecx, 0x10
jae 0x407228
lea eax, [esp + 0x58]
mov ebx, dword [esp + 0x68]
add eax, ebx
cmp edi, eax
jbe 0x407243
call fcn.0040b6f6
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
mov edx, dword [esp + 0x58]
lea ebp, [esp + 0x54]
mov eax, edx
cmp ecx, 0x10
jae 0x407252
lea eax, [esp + 0x58]
lea edi, [ebx + eax]
cmp edi, esi
je 0x407279
mov eax, edx
cmp ecx, 0x10
jae 0x407264
lea eax, [esp + 0x58]
cmp eax, edi
ja 0x407279
mov eax, edx
cmp ecx, 0x10
jae 0x407273
lea eax, [esp + 0x58]
add eax, ebx
cmp edi, eax
jbe 0x40728a
call fcn.0040b6f6
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
mov edx, dword [esp + 0x58]
cmp ecx, 0x10
jb 0x407401
mov esi, edx
test edx, edx
je 0x4072b9
mov eax, edx
cmp ecx, 0x10
jae 0x4072a4
lea eax, [esp + 0x58]
cmp eax, esi
ja 0x4072b9
mov eax, edx
cmp ecx, 0x10
jae 0x4072b3
lea eax, [esp + 0x58]
add ebx, eax
cmp esi, ebx
jbe 0x4072be
call fcn.0040b6f6
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov byte [esp + 0x1c], 0
mov ecx, dword [esp + 0x1c]
push ecx
push edx
push 0x40c707
push eax
push ebp
push edi
lea ecx, [esp + 0x38]
push esi
push ecx
call fcn.00403280
add esp, 0x20
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x2c]
call fcn.00406b00
cmp dword [esp + 0x6c], 0x10
mov byte [esp + 0x434], 7
jb 0x407311
mov eax, dword [esp + 0x58]
push eax
call fcn.0040b32c
add esp, 4
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0xe0]
push ecx
push edx
call dword [0x42d084]
test eax, eax
jne 0x407070
mov eax, dword [esp + 0x18]
push eax
call dword [0x42d080]
mov edi, dword [esp + 0x38]
mov ecx, edi
sub ecx, dword [esp + 0x34]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x40740a
mov ebx, 0x10
cmp dword [esp + 0xdc], ebx
jb 0x407378
mov edx, dword [esp + 0xc8]
push edx
call fcn.0040b32c
add esp, 4
mov esi, 0xf
xor edi, edi
lea ecx, [esp + 0x28]
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd8], edi
mov byte [esp + 0xc8], 0
call fcn.00406560
cmp dword [esp + 0xc0], ebx
jb 0x4073b7
mov eax, dword [esp + 0xac]
push eax
call fcn.0040b32c
add esp, 4
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], edi
mov byte [esp + 0xac], 0
cmp dword [esp + 0xa4], ebx
jb 0x4073e6
mov ecx, dword [esp + 0x90]
push ecx
call fcn.0040b32c
add esp, 4
mov dword [esp + 0xa0], edi
jmp 0x4079d7
lea eax, [esp + 0x58]
mov dword [esp + 0x14], eax
mov edi, eax
jmp 0x40720e
lea esi, [esp + 0x58]
jmp 0x407299
mov ecx, dword [esp + 0x44c]
mov esi, dword [esp + 0x448]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], 0
je 0x4075e2
xor ebp, ebp
cmp dword [esp + 0x14], eax
jb 0x40744f
call fcn.0040b6f6
mov esi, dword [esp + 0x448]
mov edi, dword [esi + ebp + 0x18]
lea ecx, [esi + ebp]
mov dword [esp + 0x20], ecx
lea eax, [ecx + 4]
cmp edi, 0x10
jb 0x40746a
mov edx, dword [eax]
mov dword [esp + 0x18], edx
jmp 0x407470
mov edx, eax
mov dword [esp + 0x18], eax
test edx, edx
je 0x407493
cmp edi, 0x10
jb 0x40747d
mov ebx, dword [eax]
jmp 0x40747f
mov ebx, eax
cmp ebx, edx
ja 0x407493
cmp edi, 0x10
jb 0x40748a
mov eax, dword [eax]
mov ecx, dword [ecx + 0x14]
add ecx, eax
cmp edx, ecx
jbe 0x40749f
call fcn.0040b6f6
mov esi, dword [esp + 0x448]
mov ecx, dword [esp + 0x44c]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x14], eax
jb 0x4074cd
call fcn.0040b6f6
mov esi, dword [esp + 0x448]
mov edi, dword [esi + ebp + 0x18]
lea eax, [esi + ebp + 4]
cmp edi, 0x10
jb 0x4074de
mov ecx, dword [eax]
jmp 0x4074e0
mov ecx, eax
mov edx, dword [esi + ebp + 0x14]
lea ebx, [ecx + edx]
test ebx, ebx
je 0x407507
cmp edi, 0x10
jb 0x4074f4
mov ecx, dword [eax]
jmp 0x4074f6
mov ecx, eax
cmp ecx, ebx
ja 0x407507
cmp edi, 0x10
jb 0x407501
mov eax, dword [eax]
add eax, edx
cmp ebx, eax
jbe 0x407513
call fcn.0040b6f6
mov esi, dword [esp + 0x448]
mov ecx, dword [esp + 0x44c]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp dword [esp + 0x14], ecx
jb 0x407541
call fcn.0040b6f6
mov esi, dword [esp + 0x448]
mov edx, dword [esi + ebp + 0x18]
lea eax, [esi + ebp + 4]
cmp edx, 0x10
jb 0x407552
mov edi, dword [eax]
jmp 0x407554
mov edi, eax
test edi, edi
je 0x407578
cmp edx, 0x10
jb 0x407561
mov ecx, dword [eax]
jmp 0x407563
mov ecx, eax
cmp ecx, edi
ja 0x407578
cmp edx, 0x10
jb 0x40756e
mov eax, dword [eax]
mov edx, dword [esi + ebp + 0x14]
add edx, eax
cmp edi, edx
jbe 0x40757d
call fcn.0040b6f6
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov byte [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x24]
push ecx
push 0x40c707
push edx
push eax
push ebx
lea ecx, [esp + 0x5c]
push edi
push ecx
call fcn.00403280
mov ecx, dword [esp + 0x46c]
mov esi, dword [esp + 0x468]
inc dword [esp + 0x34]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x20
add ebp, 0x1c
cmp dword [esp + 0x14], eax
jb 0x40744f
mov edi, dword [esp + 0x38]
sub edi, dword [esp + 0x34]
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
xor esi, esi
shr eax, 0x1f
xor ebx, ebx
add eax, edx
mov dword [esp + 0x1c], esi
je 0x407946
mov dword [esp + 0x14], ebx
cmp esi, eax
jb 0x407614
call fcn.0040b6f6
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
push 0xffffffffffffffff
add eax, edx
push ebx
push eax
lea ecx, [esp + 0x7c]
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], 0
call fcn.00403a10
mov eax, dword [esp + 0x44c]
mov esi, dword [esp + 0x448]
mov byte [esp + 0x434], 0xb
mov edi, eax
cmp esi, eax
jbe 0x40767d
call fcn.0040b6f6
mov eax, dword [esp + 0x44c]
mov esi, dword [esp + 0x448]
cmp esi, eax
jbe 0x40767d
call fcn.0040b6f6
mov ebp, dword [esp + 0x43c]
lea ecx, [esp + 0x70]
push ecx
push edi
push esi
mov dword [esp + 0x54], esi
call fcn.00402db0
mov esi, eax
mov eax, dword [esp + 0x458]
add esp, 0xc
mov edi, eax
cmp dword [esp + 0x448], eax
jbe 0x4076b0
call fcn.0040b6f6
cmp ebp, ebx
je 0x4076bd
cmp ebp, dword [esp + 0x43c]
je 0x4076c2
call fcn.0040b6f6
cmp esi, edi
je 0x4076e6
cmp dword [esp + 0x88], 0x10
mov byte [esp + 0x434], 7
jb 0x407913
mov edx, dword [esp + 0x74]
push edx
jmp 0x40790b
cmp byte [esp + 0x458], 0
je 0x407a32
cmp dword [esp + 0x88], 0x10
mov eax, dword [esp + 0x74]
jae 0x407706
lea eax, [esp + 0x74]
push eax
call dword [0x42d090]
mov esi, eax
cmp esi, ebx
jne 0x407733
cmp dword [esp + 0x88], 0x10
mov byte [esp + 0x434], 7
jb 0x407913
mov eax, dword [esp + 0x74]
push eax
jmp 0x40790b
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], 0
push 0x103
lea ecx, [esp + 0x329]
push ebx
push ecx
mov byte [esp + 0x440], 0xc
mov byte [esp + 0x330], 0
call fcn.0040b4e0
add esp, 0xc
push 0x104
lea edx, [esp + 0x328]
push edx
push esi
call dword [0x42d08c]
lea eax, [esp + 0x324]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407788
sub eax, edx
push eax
lea eax, [esp + 0x328]
push eax
lea ecx, [esp + 0x5c]
call fcn.00403bf0
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
cmp edx, 0x10
jb 0x407a1c
mov esi, ecx
mov dword [esp + 0x18], esi
cmp ecx, ebx
je 0x4077e2
mov eax, ecx
cmp edx, 0x10
jae 0x4077c9
lea eax, [esp + 0x58]
cmp eax, esi
ja 0x4077e2
mov eax, ecx
cmp edx, 0x10
jae 0x4077d8
lea eax, [esp + 0x58]
mov ebp, dword [esp + 0x68]
add eax, ebp
cmp esi, eax
jbe 0x4077f3
call fcn.0040b6f6
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov ecx, dword [esp + 0x58]
lea ebx, [esp + 0x54]
mov eax, ecx
cmp edx, 0x10
jae 0x407802
lea eax, [esp + 0x58]
lea edi, [eax + ebp]
test edi, edi
je 0x407829
mov eax, ecx
cmp edx, 0x10
jae 0x407814
lea eax, [esp + 0x58]
cmp eax, edi
ja 0x407829
mov eax, ecx
cmp edx, 0x10
jae 0x407823
lea eax, [esp + 0x58]
add eax, ebp
cmp edi, eax
jbe 0x40783a
call fcn.0040b6f6
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov ecx, dword [esp + 0x58]
cmp edx, 0x10
jb 0x407a29
mov esi, ecx
test ecx, ecx
je 0x407869
mov eax, ecx
cmp edx, 0x10
jae 0x407854
lea eax, [esp + 0x58]
cmp eax, esi
ja 0x407869
mov eax, ecx
cmp edx, 0x10
jae 0x407863
lea eax, [esp + 0x58]
add eax, ebp
cmp esi, eax
jbe 0x40786e
call fcn.0040b6f6
mov eax, dword [esp + 0x18]
mov byte [esp + 0x20], 0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
push ecx
push edx
push 0x40c707
push eax
push ebx
push edi
lea ecx, [esp + 0x64]
push esi
push ecx
call fcn.00403280
mov eax, dword [esp + 0xcc]
mov esi, 0x10
add esp, 0x20
cmp dword [esp + 0xc0], esi
jae 0x4078b3
lea eax, [esp + 0xac]
mov edx, dword [esp + 0xbc]
push edx
xor edi, edi
push edi
push eax
lea ecx, [esp + 0x60]
call fcn.00401fc0
cmp eax, 0xffffffff
jne 0x407ba8
cmp dword [esp + 0x6c], esi
jb 0x4078e4
mov eax, dword [esp + 0x58]
push eax
call fcn.0040b32c
add esp, 4
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
mov byte [esp + 0x434], 7
cmp dword [esp + 0x88], esi
jb 0x407913
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0040b32c
add esp, 4
mov ecx, dword [esp + 0x38]
sub ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x1c]
add dword [esp + 0x14], 0x1c
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
xor ebx, ebx
mov dword [esp + 0x1c], esi
cmp esi, eax
jb 0x407614
mov edi, 0x10
mov esi, 0xf
cmp dword [esp + 0xdc], edi
jb 0x407969
mov ecx, dword [esp + 0xc8]
push ecx
call fcn.0040b32c
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd8], ebx
mov byte [esp + 0xc8], 0
call fcn.00406560
cmp dword [esp + 0xc0], edi
jb 0x4079a1
mov edx, dword [esp + 0xac]
push edx
call fcn.0040b32c
add esp, 4
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], 0
cmp dword [esp + 0xa4], edi
jb 0x4079d0
mov eax, dword [esp + 0x90]
push eax
call fcn.0040b32c
add esp, 4
mov dword [esp + 0xa0], ebx
lea ecx, [esp + 0x43c]
mov dword [esp + 0xa4], esi
mov byte [esp + 0x90], 0
call fcn.00406560
mov al, 1
mov ecx, dword [esp + 0x42c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x414]
xor ecx, esp
call fcn.0040b4cd
add esp, 0x424
ret
lea esi, [esp + 0x58]
mov dword [esp + 0x18], esi
jmp 0x4077be
lea esi, [esp + 0x58]
jmp 0x407849
mov ecx, dword [esp + 0x40]
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x78]
push edx
call fcn.00403a10
mov edi, 0x10
cmp dword [esp + 0x88], edi
jb 0x407a5e
mov eax, dword [esp + 0x74]
push eax
call fcn.0040b32c
add esp, 4
mov esi, 0xf
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], 0
cmp dword [esp + 0xdc], edi
jb 0x407a8f
mov ecx, dword [esp + 0xc8]
push ecx
call fcn.0040b32c
add esp, 4
mov eax, dword [esp + 0x34]
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd8], ebx
mov byte [esp + 0xc8], 0
cmp eax, ebx
je 0x407acf
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x34]
push ecx
push edx
push eax
call fcn.004048e0
mov eax, dword [esp + 0x44]
push eax
call fcn.0040b32c
add esp, 0x14
mov ecx, dword [esp + 0x28]
push ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
call fcn.0040b32c
add esp, 4
cmp dword [esp + 0xc0], edi
jb 0x407b01
mov edx, dword [esp + 0xac]
push edx
call fcn.0040b32c
add esp, 4
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], 0
cmp dword [esp + 0xa4], edi
jb 0x407b30
mov eax, dword [esp + 0x90]
push eax
call fcn.0040b32c
add esp, 4
mov eax, dword [esp + 0x448]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], 0
cmp eax, ebx
je 0x407b7c
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x450]
lea edx, [esp + 0x448]
push edx
push ecx
push eax
call fcn.004048e0
mov edx, dword [esp + 0x458]
push edx
call fcn.0040b32c
add esp, 0x14
mov eax, dword [esp + 0x43c]
push eax
mov dword [esp + 0x44c], ebx
mov dword [esp + 0x450], ebx
mov dword [esp + 0x454], ebx
call fcn.0040b32c
add esp, 4
xor al, al
jmp 0x4079f4
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x4c]
call fcn.00403a10
cmp dword [esp + 0x6c], esi
jb 0x407bcc
mov edx, dword [esp + 0x58]
push edx
call fcn.0040b32c
add esp, 4
mov ebx, 0xf
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
cmp dword [esp + 0x88], esi
jb 0x407bf4
mov eax, dword [esp + 0x74]
push eax
call fcn.0040b32c
add esp, 4
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], edi
mov byte [esp + 0x74], 0
cmp dword [esp + 0xdc], esi
jb 0x407c20
mov ecx, dword [esp + 0xc8]
push ecx
call fcn.0040b32c
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xd8], edi
mov byte [esp + 0xc8], 0
call fcn.00406560
cmp dword [esp + 0xc0], esi
jb 0x407c58
mov edx, dword [esp + 0xac]
push edx
call fcn.0040b32c
add esp, 4
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xbc], edi
mov byte [esp + 0xac], 0
cmp dword [esp + 0xa4], esi
jb 0x407c87
mov eax, dword [esp + 0x90]
push eax
call fcn.0040b32c
add esp, 4
lea ecx, [esp + 0x43c]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa0], edi
mov byte [esp + 0x90], 0
call fcn.00406560
xor al, al
jmp 0x4079f4