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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x528af4]
xor eax, esp
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
push ebx
mov ebx, dword [eax]
push ebp
mov ebp, dword [esp + 0x84]
push esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x2c], ebx
mov ebx, dword [edx]
mov dword [eax], 0
push edi
mov edi, dword [esp + 0x84]
mov dword [edx], 0
mov dword [esp + 0x34], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], ebx
mov dword [ecx], 0
jmp case.0x4257b6.6
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [edx]
sub ebx, ecx
mov eax, dword [esi]
cmp eax, 6
jne 0x4257a5
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], ebx
sub eax, dword [ecx]
mov dword [esp + 0x24], eax
test ebx, ebx
jne 0x425603
test eax, eax
je 0x425c89
push dword [esp + 0x20]
lea eax, [esp + 0x20]
push dword [esp + 0x98]
push 0
push eax
push ebp
lea eax, [esp + 0x38]
push eax
push edi
lea eax, [esi + 0x58]
push eax
call fcn.00424e50
mov ecx, dword [esi + 0x190]
mov ebx, eax
mov edi, dword [esp + 0x24]
sub ecx, 1
je 0x425677
sub ecx, 3
je 0x425653
sub ecx, 6
jne 0x42568d
push edi
push dword [esp + 0x14]
lea eax, [esi + 0x1a0]
push eax
call fcn.0048d7d0
jmp 0x42568d
push edi
push dword [esp + 0x14]
push dword [esi + 0x19c]
push dword [esi + 0x198]
call fcn.004235a0
mov dword [esi + 0x198], eax
mov dword [esi + 0x19c], edx
jmp 0x42568d
push edi
push dword [esp + 0x14]
push dword [esi + 0x194]
call fcn.0045e330
mov dword [esi + 0x194], eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ebp, eax
mov ecx, dword [esp + 0x28]
add dword [edx], eax
add dword [esi + 0x18], eax
adc dword [esi + 0x1c], 0
add dword [ecx], edi
add dword [esp + 0x10], edi
add dword [esi + 0x20], edi
adc dword [esi + 0x24], 0
test ebx, ebx
jne 0x425c95
mov ecx, dword [esp + 0x20]
cmp dword [ecx], 1
jne 0x425790
movzx ecx, word [esi + 0x10]
and ecx, 0xf
jne 0x4256d3
xor eax, eax
jmp 0x4256e9
dec ecx
mov eax, 0x55555556
imul ecx
mov eax, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
shl eax, cl
mov edx, dword [esi + 0x14]
xor ecx, ecx
add edx, eax
adc ecx, ecx
add edx, dword [esi + 0x18]
adc ecx, dword [esi + 0x1c]
xor edi, edi
lea ebx, [ebx]
mov al, dl
or al, 0x80
shrd edx, ecx, 7
mov byte [esp + edi + 0x38], al
inc edi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x425700
mov edx, dword [esi + 0x20]
xor ebx, ebx
mov ecx, dword [esi + 0x24]
lea esi, [esp + 0x38]
and byte [esp + edi + 0x37], 0x7f
add esi, edi
lea esp, [esp]
mov al, dl
or al, 0x80
shrd edx, ecx, 7
mov byte [ebx + esi], al
inc ebx
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x425730
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x38]
add eax, edi
add edi, ebx
push edi
and byte [ebx + eax - 1], 0x7f
lea eax, [esp + 0x3c]
push eax
lea eax, [esi + 0x210]
push eax
call fcn.0048d7d0
add dword [esi + 0x30], edi
mov dword [esi], 7
adc dword [esi + 0x34], 0
add dword [esi + 0x28], 1
mov dword [esi + 4], 0
adc dword [esi + 0x2c], 0
mov dword [esi + 8], 0
jmp 0x4255ca
test eax, eax
jne 0x4255ce
test edi, edi
je 0x425cd0
jmp 0x4255ce
test ebx, ebx
je 0x425cc6
cmp eax, 7
ja case.0x4257b6.6
jmp dword [eax*4 + 0x425ce8]
mov ecx, dword [esi + 4]
cmp ecx, 0xc
jae 0x4257ee
cmp ecx, 6
jae 0x4257d9
mov al, byte [ebp]
cmp al, byte [ecx + 0x525b38]
jne 0x425cac
mov al, byte [ebp]
inc ebp
mov byte [ecx + esi + 0x2a0], al
inc dword [esi + 4]
inc dword [edx]
jmp case.0x4257b6.6
lea eax, [esi + 0x2a0]
push eax
lea eax, [esi + 0x10]
push eax
call fcn.00425ed0
test eax, eax
jne 0x425cd2
lea eax, [esi + 0x210]
mov dword [esi], 5
push eax
call fcn.0048d780
mov edx, dword [esp + 0x14]
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 4], 0
jmp case.0x4257b6.6
mov eax, dword [esi + 4]
test eax, eax
jne 0x4258cf
mov al, byte [ebp]
lea ebx, [esi + 0x2a0]
mov byte [ebx], al
inc ebp
inc dword [esi + 4]
inc dword [edx]
cmp byte [ebx], 0
jne 0x4258bd
push dword [esi + 0x2c]
lea eax, [esi + 0x2a1]
push dword [esi + 0x28]
push eax
call fcn.00426230
inc eax
mov dword [esi + 0x3c], 0
add dword [esi + 0x30], eax
lea edi, [esi + 0x210]
mov dword [esi + 0xc], eax
adc dword [esi + 0x34], 0
mov dword [esi + 0x38], eax
lea eax, [esi + 0x280]
push eax
push edi
call fcn.0048d630
push edi
call fcn.0048d780
push dword [esi + 0xc]
push ebx
push 0xffffffffffffffff
call fcn.0045e330
mov edx, dword [esp + 0x14]
mov dword [esi + 0x50], eax
mov dword [esi], 1
movzx eax, byte [ebx]
lea eax, [eax*4 + 4]
mov dword [esi + 0x14], eax
jmp 0x4255ce
mov edi, dword [esi + 0x14]
cmp eax, edi
je 0x425900
sub edi, eax
cmp edi, ebx
jbe 0x4258de
mov edi, ebx
push edi
add eax, 0x2a0
add eax, esi
push ebp
push eax
call fcn.004edb80
mov edx, dword [esp + 0x20]
add esp, 0xc
add dword [esi + 4], edi
add dword [edx], edi
add ebp, edi
jmp 0x4255ce
lea eax, [esi + 0x2a0]
push eax
lea edi, [esi + 0xf8]
push edi
call fcn.004250b0
test eax, eax
jne 0x425cd2
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
movzx eax, word [esi + 0x10]
and eax, 0xf
mov dword [esi], 6
push eax
lea eax, [esi + 0x190]
push eax
call fcn.004252f0
push edi
lea eax, [esi + 0x58]
push eax
call fcn.00425330
test eax, eax
jne 0x425cd2
jmp 0x4255ca
mov eax, dword [esi + 8]
add eax, dword [esi + 0x18]
and eax, 3
or eax, 0
je 0x425994
lea eax, [ecx + 1]
mov dword [edx], eax
inc dword [esi + 8]
mov al, byte [ebp]
inc ebp
test al, al
je case.0x4257b6.6
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004ebbd8
add esp, 0x6c
ret 0x1c
movzx eax, word [esi + 0x10]
push eax
call fcn.00425530
mov ecx, dword [esi + 4]
mov edi, eax
sub eax, ecx
mov dword [esp + 0x1c], eax
je 0x4259dc
cmp eax, ebx
jbe 0x4259b5
mov eax, ebx
mov dword [esp + 0x1c], ebx
push eax
lea eax, [ecx + 0x2a0]
add eax, esi
push ebp
push eax
call fcn.004edb80
mov edx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x1c]
add dword [esi + 4], eax
add dword [edx], eax
add ebp, eax
jmp 0x4255ce
lea eax, [esp + 0x38]
mov dword [esi], 5
push eax
lea eax, [esi + 0x190]
mov dword [esi + 4], 0
push eax
call fcn.00425240
mov edx, dword [esp + 0x14]
test eax, eax
je 0x4255ce
lea edx, [esi + 0x2a0]
lea ecx, [esp + 0x38]
sub edi, 4
jb 0x425a26
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x425a2f
add ecx, 4
add edx, 4
sub edi, 4
jae 0x425a15
cmp edi, 0xfffffffc
je 0x4255ca
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42597a
cmp edi, 0xfffffffd
je 0x4255ca
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42597a
cmp edi, 0xfffffffe
je 0x4255ca
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42597a
cmp edi, 0xffffffff
je 0x4255ca
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x42597a
jmp 0x4255ca
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0xc]
jae 0x425aad
lea eax, [ecx + 1]
mov dword [edx], eax
mov eax, dword [esi + 4]
mov dl, byte [ebp]
inc ebp
mov cl, byte [eax + esi + 0x2a0]
inc eax
mov dword [esi + 4], eax
cmp dl, cl
jne 0x42597a
mov edx, dword [esp + 0x14]
jmp case.0x4257b6.6
mov edi, dword [esi + 0x3c]
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
cmp edi, edx
ja 0x425b04
jb 0x425ac3
cmp ecx, eax
jae 0x425b04
sub eax, ecx
sbb edx, edi
xor ecx, ecx
cmp ecx, edx
jb 0x425ad5
ja 0x425ad3
cmp ebx, eax
jbe 0x425ad5
mov ebx, eax
push ebx
push ebp
push dword [esi + 0x50]
call fcn.0045e330
push ebx
mov dword [esi + 0x50], eax
lea eax, [esi + 0x210]
push ebp
push eax
call fcn.0048d7d0
mov edx, dword [esp + 0x14]
add ebp, ebx
add dword [edx], ebx
add dword [esi + 0x38], ebx
adc dword [esi + 0x3c], 0
jmp 0x4255ce
and ecx, 3
or ecx, 0
je 0x425b4c
mov al, byte [ebp]
inc ebp
mov byte [esp + 0x1b], al
lea eax, [esp + 0x1b]
push 1
push eax
push dword [esi + 0x50]
call fcn.0045e330
mov edx, dword [esp + 0x14]
mov dword [esi + 0x50], eax
inc dword [edx]
add dword [esi + 0x38], 1
adc dword [esi + 0x3c], 0
add dword [esi + 0x30], 1
adc dword [esi + 0x34], 0
cmp byte [esp + 0x1b], 0
jne 0x42597a
jmp 0x4255ce
add eax, 4
mov dword [esi], 2
mov dword [esi + 0x30], eax
lea eax, [esp + 0x38]
push eax
lea eax, [esi + 0x210]
mov dword [esi + 4], 0
adc edx, 0
push eax
mov dword [esi + 0x34], edx
call fcn.0048d630
lea edx, [esi + 0x280]
mov edi, 0x1c
lea ecx, [esp + 0x38]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42597a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x425b85
jmp 0x4255ca
cmp dword [esi + 4], 4
jae 0x425bc0
lea eax, [ecx + 1]
mov dword [edx], eax
mov ecx, dword [esi + 4]
mov al, byte [ebp]
mov byte [esi + ecx + 0x2a0], al
inc dword [esi + 4]
inc ebp
jmp case.0x4257b6.6
mov eax, dword [esi + 0x50]
not eax
mov dword [esi], 3
mov dword [esi + 4], 0
cmp eax, dword [esi + 0x2a0]
jmp 0x425974
mov eax, dword [esi + 4]
mov edi, 0xc
sub edi, eax
cmp edi, ebx
jbe 0x425bed
mov edi, ebx
push edi
add eax, 0x2a0
add eax, esi
push ebp
push eax
call fcn.004edb80
mov edx, dword [esp + 0x20]
add ebp, edi
add dword [esi + 4], edi
add esp, 0xc
add dword [edx], edi
cmp dword [esi + 4], 0xc
mov edi, dword [esp + 0x10]
jne case.0x4257b6.6
add dword [esi + 0x48], 1
lea eax, [esi + 0x2a0]
push eax
push dword [esi + 0x34]
movzx eax, word [esi + 0x10]
push dword [esi + 0x30]
adc dword [esi + 0x4c], 0
push eax
mov dword [esi], 4
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
call fcn.00425dd0
test al, al
je 0x42597a
jmp 0x4255ca
cmp byte [ebp], 0
je 0x425c76
test byte [esi + 0x40], 3
jne 0x425cac
mov dword [esi + 4], 0
mov dword [esi], 0
jmp case.0x4257b6.6
lea eax, [ecx + 1]
inc ebp
mov dword [edx], eax
add dword [esi + 0x40], 1
adc dword [esi + 0x44], 0
jmp case.0x4257b6.6
mov eax, dword [esp + 0x20]
mov dword [eax], 2
jmp 0x425cd0
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004ebbd8
add esp, 0x6c
ret 0x1c
pop edi
pop esi
pop ebp
mov eax, 0x11
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004ebbd8
add esp, 0x6c
ret 0x1c
mov eax, dword [esp + 0x20]
mov dword [eax], 3
xor eax, eax
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004ebbd8
add esp, 0x6c
ret 0x1c