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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x427037
sub esp, 0x68
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x7c]
mov dword [esp], ecx
call fcn.0040a060
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004264b0
mov eax, dword [esp + 0x74]
shl eax, 0xd
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x70]
lea edx, [eax + ecx - 1]
mov ebx, dword [esp + 4]
mov dword [esp + 0x2c], ebx
mov dword [esp], edx
call fcn.004264b0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x54]
add ecx, eax
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x2c]
cmp edx, ebx
je 0x426ce3
mov dword [esp + 0x44], edx
movzx ebp, byte [esp + 0x78]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x426c1b
mov ebp, dword [esp + 0x6c]
mov esi, dword [ebp + 0x24]
mov dword [esp + 0x5c], esi
mov edi, dword [ebp + 0x28]
mov dword [esp + 0x28], edi
jmp 0x426ff7
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x58], ecx
mov edx, dword [eax + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.00426880
mov eax, dword [esp + 8]
test byte [eax], al
mov dword [esp], eax
call fcn.0042a040
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
cmp edx, ebx
jbe 0x426fc7
mov ebp, dword [esp + 0x58]
lea esi, [ebp + ebx*8 + 4]
mov dword [esi], eax
lea esi, [ebp + ebx*8]
mov dword [esi], ecx
mov esi, dword [esp + 0x6c]
mov edi, dword [esi + 0x2c]
mov eax, ebp
mov ebp, dword [esi + 0x24]
mov ecx, dword [esp + 0x44]
cmp edi, ecx
jb 0x426fc0
lea edx, [ebx + 1]
cmp ecx, edx
jb 0x426fb9
sub edi, ebx
dec edi
xchg edi, ebx
neg ebx
xchg edi, ebx
shl edx, 3
sar edi, 0x1f
and edi, edx
lea edx, [edi + ebp]
mov ebp, ecx
sub ecx, ebx
dec ecx
movzx ebx, byte [esp + 0x79]
test bl, bl
jne 0x426cbb
xor ebx, ebx
jmp 0x426fac
test ecx, ecx
je 0x426f48
mov dword [esp], edx
shl ecx, 3
mov dword [esp + 4], ecx
call fcn.0045dfe0
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x6c]
jmp 0x426f48
mov edx, dword [esp + 0x6c]
mov ebp, dword [edx + 0x28]
mov esi, dword [edx + 0x24]
cmp ebp, ebx
jbe 0x426f3f
lea eax, [esi + ebx*8]
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00426880
mov eax, dword [esp + 8]
test byte [eax], al
mov dword [esp], eax
call fcn.0042a040
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
sete cl
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x1c]
cmp edx, ebx
sete bl
and ecx, ebx
test cl, cl
jne 0x426d64
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x28]
mov esi, dword [esp + 0x2c]
cmp ecx, esi
jbe 0x426f38
lea edi, [ebp + esi*8 + 4]
mov dword [edi], eax
lea ebp, [ebp + esi*8]
mov dword [ebp], edx
jmp 0x426d68
add esp, 0x68
ret
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x54]
mov eax, 2
mov ecx, 1
jmp 0x426d8d
lea eax, [esi - 1]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x54]
mov ebx, ebp
mov ebp, esi
mov ecx, edi
test eax, eax
jl 0x426df1
test cl, cl
je 0x426df1
lea esi, [eax + 1]
cmp esi, 4
jae 0x426f2c
mov dword [esp + 0x38], eax
lea ecx, [0x513610]
mov ebx, dword [ecx + eax*4 + 4]
mov dword [esp + 0x34], ebx
lea esi, [0x513620]
mov edi, dword [esi + eax*4 + 4]
mov dword [esp + 0x30], edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00426640
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x38]
xor edi, edi
jmp 0x426e1b
add esp, 0x68
ret
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x50]
mov ecx, ebp
mov edx, dword [esp + 0x30]
mov ebp, esi
mov esi, dword [esp + 0x38]
mov edi, eax
mov eax, dword [esp + 0x50]
cmp eax, ecx
jge 0x426d7c
mov dword [esp + 0x3c], eax
xchg edi, eax
mov byte [esp + 0x1b], al
xchg edi, eax
cmp ebx, 0x20
sbb edi, edi
mov dword [esp + 0x50], edi
lea esi, [esi + esi*2]
mov dword [esp + 0x4c], esi
mov edi, dword [ebp + esi*4 + 0x14]
mov ebp, dword [ebp + esi*4 + 0xc]
mov dword [esp + 0x64], ebp
mov ecx, ebx
shl eax, cl
mov esi, dword [esp + 0x50]
and eax, esi
mov ebp, dword [esp + 0x3c]
inc ebp
mov dword [esp + 0x50], ebp
shl ebp, cl
and ebp, esi
cmp edi, ebp
jb 0x426f23
cmp ebp, eax
jb 0x426f1c
sub edi, eax
mov ecx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
mov ebx, eax
shl eax, 3
sar edi, 0x1f
and edi, eax
mov eax, dword [esp + 0x64]
add eax, edi
mov dword [esp], eax
sub ebp, ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00428940
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
cmp edx, 4
jae 0x426f10
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x6c]
mov esi, dword [ebp + ebx*4]
mov ebx, dword [ebp + ebx*4 + 4]
mov edi, dword [esp + 0x3c]
cmp edi, ebx
jae 0x426f07
lea ebx, [esi + edi*8]
mov dword [esp + 0x60], ebx
cmp dword [ebx + 4], eax
xchg ebp, ebx
setne bl
xchg ebp, ebx
cmp dword [ebx], ecx
setne bl
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x426efd
lea ebx, [esi + edi*8 + 4]
mov dword [ebx], eax
mov ebx, dword [esp + 0x60]
mov dword [ebx], ecx
mov eax, 1
jmp 0x426df5
movzx eax, byte [esp + 0x1b]
jmp 0x426df5
mov eax, edi
mov ecx, ebx
call fcn.0045d960
mov eax, edx
mov ecx, 4
call fcn.0045d960
mov ecx, ebp
call fcn.0045d9c0
mov ecx, ebp
mov edx, edi
call fcn.0045d9a0
mov eax, esi
mov ecx, 4
call fcn.0045d960
mov eax, esi
call fcn.0045d970
mov eax, ebx
mov ecx, ebp
call fcn.0045d970
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.00426880
mov eax, dword [esp + 8]
test byte [eax], al
mov dword [esp], eax
call fcn.0042a040
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x44]
cmp edx, ebx
jbe 0x426f8f
mov edx, dword [esp + 0x58]
lea ebp, [edx + ebx*8 + 4]
mov dword [ebp], eax
lea edx, [edx + ebx*8]
mov dword [edx], ecx
mov ebx, dword [esp + 0x6c]
jmp 0x426d68
mov eax, ebx
mov ecx, edx
call fcn.0045d970
lea edi, [edx + ebx*8]
mov dword [edi], 0x8000200
lea edi, [edx + ebx*8 + 4]
mov dword [edi], 0x2000
inc ebx
cmp ebx, ecx
jge 0x426f48
jb 0x426f98
mov eax, ebx
call fcn.0045d960
mov eax, edx
call fcn.0045d9d0
mov edx, edi
call fcn.0045d9b0
mov eax, ebx
mov ecx, edx
call fcn.0045d970
mov esi, dword [esp + 0x5c]
lea ebp, [esi + edx*8 + 4]
mov dword [ebp], eax
lea eax, [esi + edx*8]
mov dword [eax], ecx
lea eax, [edx + 1]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x6c]
mov edi, ebx
mov ebx, eax
mov eax, dword [esp + 0x70]
cmp ebx, edx
ja 0x426f86
mov dword [esp + 0x48], ebx
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.00426880
mov eax, dword [esp + 8]
test byte [eax], al
mov dword [esp], eax
call fcn.0042a040
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x28]
cmp edx, ebx
jb 0x426fd0
mov eax, edx
mov ecx, ebx
call fcn.0045d970
nop
call fcn.0045c4a0
jmp fcn.00426b80