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

Disassembly:
sub esp, 0x58
push ebx
mov ebx, dword [esp + 0x60]
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
push ebp
push esi
push edi
mov edi, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4260bd
call fcn.004589b8
mov eax, dword [ebx + 0xc]
cmp byte [eax + 0x10], 0
je 0x4265a6
mov esi, dword [edi]
mov ebx, dword [edi + 0x14]
mov edi, dword [ebx]
mov ebp, esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebp
jmp 0x4260f0
test esi, esi
je 0x4260f8
cmp esi, ebp
je 0x4260fd
call fcn.004589b8
cmp ebx, dword [esp + 0x34]
je 0x4264fa
test esi, esi
jne 0x42619b
call fcn.004589b8
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x426120
call fcn.004589b8
mov edi, dword [edi]
mov dword [esp + 0x3c], edi
test esi, esi
je 0x42612e
cmp esi, esi
je 0x426133
call fcn.004589b8
cmp ebx, edi
jne 0x4262d5
test ebp, ebp
jne 0x4261a2
call fcn.004589b8
xor eax, eax
mov ecx, dword [esp + 0x34]
cmp ecx, dword [eax + 0x14]
jne 0x426154
call fcn.004589b8
mov eax, dword [esp + 0x6c]
mov ebp, dword [eax + 0xc]
cmp ebp, dword [eax + 0x10]
jbe 0x426165
call fcn.004589b8
mov edx, dword [esp + 0x6c]
mov esi, dword [edx]
mov eax, dword [esp + 0x34]
mov edi, dword [eax + 8]
mov ebx, esi
mov dword [esp + 0x24], ebp
test esi, esi
jne 0x4261a7
call fcn.004589b8
xor eax, eax
mov ecx, edi
shl ecx, 4
sub ecx, edi
lea edi, [ebp + ecx*4]
cmp edi, dword [eax + 0x10]
ja 0x4261b2
test esi, esi
je 0x4261ab
mov esi, dword [esi]
jmp 0x4261ad
mov eax, dword [esi]
jmp 0x426116
mov eax, dword [ebp]
jmp 0x426146
mov eax, dword [esi]
jmp 0x426183
xor esi, esi
cmp edi, dword [esi + 0xc]
jae 0x4261b7
call fcn.004589b8
mov esi, dword [esp + 0x10]
neg esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edi
test ebx, ebx
jne 0x4261eb
call fcn.004589b8
xor eax, eax
mov edx, esi
shl edx, 4
sub edx, esi
lea edi, [edi + edx*4]
mov dword [esp + 0x18], edi
cmp edi, dword [eax + 0x10]
ja 0x4261f6
test ebx, ebx
je 0x4261ef
mov ebx, dword [ebx]
jmp 0x4261f1
mov eax, dword [ebx]
jmp 0x4261d0
xor ebx, ebx
cmp edi, dword [ebx + 0xc]
jae 0x4261fb
call fcn.004589b8
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
cmp dword [ecx + 0xc], eax
jbe 0x426210
call fcn.004589b8
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x426273
call fcn.004589b8
xor eax, eax
mov ecx, dword [esp + 0x34]
cmp ecx, dword [eax + 0x14]
jne 0x42622d
call fcn.004589b8
mov eax, dword [esp + 0x6c]
mov edi, dword [eax + 0xc]
cmp edi, dword [eax + 0x10]
jbe 0x42623e
call fcn.004589b8
mov edx, dword [esp + 0x6c]
mov esi, dword [edx]
mov eax, dword [esp + 0x34]
mov ebx, dword [eax + 8]
mov ebp, esi
mov dword [esp + 0x54], edi
test esi, esi
jne 0x426277
call fcn.004589b8
xor eax, eax
mov ecx, ebx
shl ecx, 4
sub ecx, ebx
lea edi, [edi + ecx*4]
cmp edi, dword [eax + 0x10]
ja 0x426282
test esi, esi
je 0x42627b
mov esi, dword [esi]
jmp 0x42627d
mov eax, dword [eax]
jmp 0x42621f
mov eax, dword [esi]
jmp 0x42625c
xor esi, esi
cmp edi, dword [esi + 0xc]
jae 0x426287
call fcn.004589b8
test ebp, ebp
jne 0x4262a3
call fcn.004589b8
xor eax, eax
add edi, 0x3c
cmp edi, dword [eax + 0x10]
ja 0x4262af
test ebp, ebp
je 0x4262a8
mov eax, dword [ebp]
jmp 0x4262aa
mov eax, dword [ebp]
jmp 0x426292
xor eax, eax
cmp edi, dword [eax + 0xc]
jae 0x4262b4
call fcn.004589b8
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
push edx
mov byte [esp + 0x20], 0
mov ecx, dword [esp + 0x20]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
lea ebx, [esp + 0x64]
jmp 0x4264c3
test ebp, ebp
jne 0x426335
call fcn.004589b8
xor eax, eax
mov edx, dword [esp + 0x34]
cmp edx, dword [eax + 0x14]
jne 0x4262ee
call fcn.004589b8
mov eax, dword [esp + 0x6c]
mov ebp, dword [eax + 0xc]
cmp ebp, dword [eax + 0x10]
jbe 0x4262ff
call fcn.004589b8
mov eax, dword [esp + 0x6c]
mov esi, dword [eax]
mov ecx, dword [esp + 0x34]
mov edi, dword [ecx + 8]
mov ebx, esi
mov dword [esp + 0x54], ebp
test esi, esi
jne 0x42633a
call fcn.004589b8
xor eax, eax
mov edx, edi
shl edx, 4
sub edx, edi
lea edi, [ebp + edx*4]
cmp edi, dword [eax + 0x10]
ja 0x426345
test esi, esi
je 0x42633e
mov esi, dword [esi]
jmp 0x426340
mov eax, dword [ebp]
jmp 0x4262e0
mov eax, dword [esi]
jmp 0x42631d
xor esi, esi
cmp edi, dword [esi + 0xc]
jae 0x42634a
call fcn.004589b8
mov esi, dword [esp + 0x10]
neg esi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], edi
test ebx, ebx
jne 0x42637e
call fcn.004589b8
xor eax, eax
mov ecx, esi
shl ecx, 4
sub ecx, esi
lea edi, [edi + ecx*4]
mov dword [esp + 0x20], edi
cmp edi, dword [eax + 0x10]
ja 0x426389
test ebx, ebx
je 0x426382
mov ebx, dword [ebx]
jmp 0x426384
mov eax, dword [ebx]
jmp 0x426363
xor ebx, ebx
cmp edi, dword [ebx + 0xc]
jae 0x42638e
call fcn.004589b8
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4263ef
call fcn.004589b8
xor eax, eax
mov edx, dword [esp + 0x3c]
cmp edx, dword [eax + 0x14]
jne 0x4263ab
call fcn.004589b8
mov eax, dword [esp + 0x6c]
mov ebx, dword [eax + 0xc]
cmp ebx, dword [eax + 0x10]
jbe 0x4263bc
call fcn.004589b8
mov eax, dword [esp + 0x6c]
mov esi, dword [eax]
mov ecx, dword [esp + 0x3c]
mov edi, dword [ecx + 8]
test esi, esi
jne 0x4263f3
call fcn.004589b8
xor eax, eax
mov edx, edi
shl edx, 4
sub edx, edi
lea ecx, [ebx + edx*4]
mov dword [esp + 0x18], ecx
cmp ecx, dword [eax + 0x10]
ja 0x4263fe
test esi, esi
je 0x4263f7
mov esi, dword [esi]
jmp 0x4263f9
mov eax, dword [eax]
jmp 0x42639d
mov eax, dword [esi]
jmp 0x4263d4
xor esi, esi
cmp ecx, dword [esi + 0xc]
jae 0x426403
call fcn.004589b8
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x426466
call fcn.004589b8
xor eax, eax
mov ecx, dword [esp + 0x34]
cmp ecx, dword [eax + 0x14]
jne 0x426420
call fcn.004589b8
mov eax, dword [esp + 0x6c]
mov edi, dword [eax + 0xc]
cmp edi, dword [eax + 0x10]
jbe 0x426431
call fcn.004589b8
mov edx, dword [esp + 0x6c]
mov esi, dword [edx]
mov eax, dword [esp + 0x34]
mov ebx, dword [eax + 8]
mov ebp, esi
mov dword [esp + 0x54], edi
test esi, esi
jne 0x42646a
call fcn.004589b8
xor eax, eax
mov ecx, ebx
shl ecx, 4
sub ecx, ebx
lea edi, [edi + ecx*4]
cmp edi, dword [eax + 0x10]
ja 0x426475
test esi, esi
je 0x42646e
mov esi, dword [esi]
jmp 0x426470
mov eax, dword [eax]
jmp 0x426412
mov eax, dword [esi]
jmp 0x42644f
xor esi, esi
cmp edi, dword [esi + 0xc]
jae 0x42647a
call fcn.004589b8
test ebp, ebp
jne 0x426496
call fcn.004589b8
xor eax, eax
add edi, 0x3c
cmp edi, dword [eax + 0x10]
ja 0x4264a2
test ebp, ebp
je 0x42649b
mov eax, dword [ebp]
jmp 0x42649d
mov eax, dword [ebp]
jmp 0x426485
xor eax, eax
cmp edi, dword [eax + 0xc]
jae 0x4264a7
call fcn.004589b8
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
push edx
mov byte [esp + 0x2c], 0
mov ecx, dword [esp + 0x2c]
push eax
push ecx
mov ecx, dword [esp + 0x24]
lea ebx, [esp + 0x6c]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x78]
push edx
push eax
push ecx
push edi
call fcn.00426b20
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x48]
add esp, 0x1c
inc dword [esp + 0x10]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov esi, edx
mov ebp, edx
mov edi, eax
jmp 0x4260f0
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x10]
sub ecx, dword [eax + 0xc]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x497efc]
mov eax, ecx
mov ecx, dword [0x497f00]
sub eax, dword [esp + 0x10]
mov esi, ecx
mov edi, edx
mov ebx, ecx
sub esp, 0x3c
mov ecx, esp
mov dword [ecx], edx
mov ebp, dword [0x497f00]
mov dword [ecx + 4], ebp
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], esi
mov byte [ecx + 0x10], 0
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x1c], 0
mov byte [ecx + 0x20], 0
mov edx, dword [0x497ef0]
mov dword [ecx + 0x24], edx
mov edx, dword [0x497ef4]
mov dword [ecx + 0x28], edx
movzx edx, byte [0x497ef8]
mov byte [ecx + 0x2c], dl
mov edx, dword [0x497ef0]
mov dword [ecx + 0x30], edx
mov edx, dword [0x497ef4]
mov dword [ecx + 0x34], edx
movzx edx, byte [0x497ef8]
mov byte [ecx + 0x38], dl
mov ecx, dword [esp + 0xa8]
call fcn.00425fc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
mov ecx, dword [ebx + 0x10]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
mov ecx, dword [0x497f00]
sar edx, 5
mov eax, edx
shr eax, 0x1f
sub esp, 0x3c
add eax, edx
mov edx, dword [0x497efc]
mov esi, eax
sub esi, dword [edi + 0x18]
mov eax, esp
push ecx
push edx
push ecx
push edx
call fcn.00425870
mov eax, esi
mov ecx, ebx
call fcn.00425fc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret