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

Disassembly:
sub esp, 0xd0
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0xe4]
xor esi, esi
mov ebx, 1
cmp edi, esi
mov ebp, ecx
mov edx, ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
je 0x42573a
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x42573a
xor edx, edx
mov dword [esp + 0x24], ebx
mov edi, dword [esp + 0xe8]
cmp edi, esi
je 0x425757
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x425757
xor edx, edx
mov dword [esp + 0x28], ebx
mov edi, dword [esp + 0xec]
cmp edi, esi
je 0x42576e
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x425781
cmp edx, esi
je 0x425781
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xd0
ret 0xc
mov ecx, ebp
call fcn.004251d0
xor esi, esi
mov dword [esp + 0x3c], 0x4da9f4
mov dword [esp + 0x20], esi
mov dword [esp + 0x40], 0x4da9ec
mov dword [esp + 0x44], 0x4da9e4
mov dword [esp + 0x48], 0x4da9dc
mov dword [esp + 0x4c], 0x4da9d4
lea ebx, [ebp + 0x3714]
lea edi, [ebp + 0x33a4]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4257e0
mov eax, dword [esp + esi + 0x3c]
mov ecx, dword [esp + 0xe8]
push edi
push eax
push ecx
call fcn.00402c30
add esp, 0xc
mov eax, dword [esp + 0x24]
test eax, eax
je 0x425815
mov edx, dword [esp + esi + 0x3c]
mov eax, dword [esp + 0xe4]
push edi
push edx
push eax
call fcn.00402c30
add esp, 0xc
test eax, eax
je 0x425815
mov ecx, dword [ebx]
mov eax, 1
test ecx, ecx
mov dword [esp + esi + 0x64], eax
je 0x425815
mov dword [esp + 0x20], eax
add esi, 4
add edi, 0x16
add ebx, 4
cmp esi, 0x14
jl 0x4257c2
mov dword [esp + 0x64], 0x4da9cc
mov dword [esp + 0x68], 0x4da9c4
mov dword [esp + 0x6c], 0x4da9bc
mov dword [esp + 0x70], 0x4da9b4
mov dword [esp + 0x74], 0x4da9ac
mov dword [esp + 0x78], 0x4da9a4
mov dword [esp + 0x7c], 0x4da99c
mov dword [esp + 0x80], 0x4da994
mov dword [esp + 0x84], 0x4da98c
mov dword [esp + 0x88], 0x4da984
mov dword [esp + 0x3c], 0x4da980
mov dword [esp + 0x40], 0x4da97c
mov dword [esp + 0x44], 0x4da978
mov dword [esp + 0x48], 0x4da974
mov dword [esp + 0x4c], 0x4da970
mov dword [esp + 0x50], 0x4da96c
mov dword [esp + 0x54], 0x4da968
mov dword [esp + 0x58], 0x4da964
mov dword [esp + 0x5c], 0x4da960
mov dword [esp + 0x60], 0x4da95c
xor esi, esi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4258f0
mov ecx, dword [esp + esi + 0x3c]
mov edx, dword [esp + esi + 0x64]
mov eax, dword [esp + 0xe4]
push ecx
push edx
push eax
call fcn.00402c30
add esp, 0xc
add esi, 4
cmp esi, 0x28
jl 0x4258ce
mov edx, dword [esp + 0xe8]
test edx, edx
je 0x425934
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x425934
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea ebx, [ebp + 0x454]
mov edx, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0xec]
test eax, eax
je 0x4259a7
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4259a7
mov edi, dword [esp + 0xec]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp + 0x47c]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x20]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x4259a7
mov edi, 0x4da958
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0xe4]
test edi, edi
je 0x425cf1
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x38], ecx
je 0x425cf1
mov eax, 0x4da954
xor esi, esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x38]
xor ebx, ebx
mov edi, 0x4da8f4
mov edx, 0x4da950
mov ecx, 0x4da94c
cmp eax, esi
mov dword [esp + 0x20], 1
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], 0x4da948
mov dword [esp + 0x44], 0x4da944
mov dword [esp + 0x48], 0x4da940
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], 0x4da93c
mov dword [esp + 0x78], 0x4da938
mov dword [esp + 0x7c], 0x4da934
mov dword [esp + 0x80], 0x4da930
mov dword [esp + 0x84], 0x4da92c
mov dword [esp + 0x88], 0x4da928
mov dword [esp + 0x8c], 0x4da924
mov dword [esp + 0x90], 0x4da920
mov dword [esp + 0x94], 0x4da91c
mov dword [esp + 0x98], 0x4da918
mov dword [esp + 0x9c], 0x4da914
mov dword [esp + 0xa0], 0x4da910
mov dword [esp + 0xa4], 0x4da90c
mov dword [esp + 0xa8], 0x4da908
mov dword [esp + 0xac], 0x4da904
mov dword [esp + 0xb0], 0x4da900
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], esi
jle 0x425c89
mov dword [esp + 0x10], esi
jmp 0x425afa
xor esi, esi
cmp dword [esp + 0x20], esi
je case.default.0x425b64
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xe4]
lea eax, [esp + 0x2c]
push 0xa
lea edi, [ecx + edx]
xor esi, esi
push eax
push edi
mov dword [esp + 0x34], esi
call fcn.00402bd0
mov dword [esp + 0x30], eax
mov al, byte [esp + 0x38]
add esp, 0xc
cmp al, 0x3c
je 0x425d03
cmp al, 0x5c
je 0x425c42
cmp al, 0x7c
jne case.default.0x425b64
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xe4]
movsx eax, byte [ecx + edx + 1]
add eax, 0xffffff9f
cmp eax, 9
ja case.default.0x425b64
jmp dword [eax*4 + 0x425fdc]
mov esi, 1
inc esi
inc esi
inc esi
inc esi
inc esi
inc esi
inc esi
inc esi
mov ax, word [ebp + 0x66a]
cmp ax, 0x14
jge 0x425bc0
movsx eax, ax
mov edx, dword [esp + 0x18]
lea eax, [eax + eax*4]
mov word [ebp + eax*2 + 0x5a2], si
movsx eax, word [ebp + 0x66a]
lea ecx, [eax + eax*4]
mov dword [ebp + ecx*2 + 0x5a4], edx
movsx eax, word [ebp + 0x66a]
lea eax, [eax + eax*4]
mov dword [ebp + eax*2 + 0x5a8], ebx
inc word [ebp + 0x66a]
mov cx, word [0x4da8fc]
lea edx, [esp + 0x2c]
push 0xa
push edx
push edi
mov word [edi], cx
mov dword [esp + 0x34], 1
call fcn.00402bd0
add esp, 0xc
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x20], 1
mov al, byte [ebx + ebp + 4]
dec eax
cmp eax, 3
ja case.default.0x425bfa
jmp dword [eax*4 + 0x426004]
mov dword [esp + 0x14], 0
lea edi, [esp + 0x3c]
mov esi, dword [edi]
lea eax, [esp + 0x2c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x425df7
test cl, cl
je 0x425c3b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x425df7
add eax, 2
add esi, 2
test cl, cl
jne 0x425c13
xor eax, eax
jmp 0x425dfc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xe4]
cmp byte [eax + ecx + 1], 0x6e
jne case.default.0x425b64
mov edx, eax
add edx, 2
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0x64
xor ebx, ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jl 0x425af8
xor esi, esi
mov ecx, dword [esp + 0x18]
mov word [ebp + 0x3910], si
lea eax, [ecx + 1]
cmp ax, si
mov word [ebp + 0x3822], ax
jbe 0x425ce3
lea edx, [ebp + 0x38e2]
lea ebx, [ebp + 0x6c]
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x64
repne scasb al, byte es:[edi]
mov ax, word [ebp + 0x3790]
add edx, 4
not ecx
dec ecx
shr ax, 1
imul ecx, eax
mov word [edx - 6], cx
xor ecx, ecx
mov word [edx - 4], 0
mov cx, word [ebp + 0x3822]
inc esi
cmp esi, ecx
jl 0x425cac
xor edx, edx
add ebp, 0x3908
mov dword [ebp], edx
mov dword [ebp + 4], edx
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xd0
ret 0xc
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0xe4]
mov ecx, 8
xor eax, eax
lea edi, [esp + 0xc0]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xc0]
mov al, byte [edx + esi]
cmp al, 0x3c
jne 0x425d2f
inc edx
jmp 0x425d25
cmp al, 0x3e
je 0x425d39
mov byte [ecx], al
inc ecx
inc edx
jmp 0x425d25
movsx eax, word [ebp + 0x5a0]
inc edx
add eax, 0x32
mov dword [esp + 0x1c], edx
push 0x14
lea edx, [eax + eax*2]
lea ecx, [esp + 0xc4]
lea eax, [ebp + edx*8]
push eax
push 0x2f
push 1
push ecx
call fcn.00402750
movsx eax, word [ebp + 0x5a0]
lea ecx, [esp + 0xd4]
lea edx, [eax + eax*2]
lea eax, [ebp + edx*8 + 0x4c6]
push eax
push 0x2f
push 0
push ecx
call fcn.00402ab0
movsx eax, word [ebp + 0x5a0]
add esp, 0x24
lea edx, [eax + eax*2]
xor eax, eax
mov al, byte [ebp + edx*8 + 0x4c6]
lea ecx, [ebp + edx*8]
mov edx, eax
mov eax, ebx
sub eax, edx
jns 0x425daa
xor eax, eax
mov dl, byte [esp + 0x18]
mov byte [ecx + 0x4c4], dl
movsx ecx, word [ebp + 0x5a0]
lea ecx, [ecx + ecx*2]
mov byte [ebp + ecx*8 + 0x4c5], al
or ecx, 0xffffffff
movsx edx, word [ebp + 0x5a0]
lea eax, [edx + edx*2 + 0x96]
lea edx, [edx + edx*2]
lea edi, [ebp + eax*8]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ebp + edx*8 + 0x4c7], cl
inc word [ebp + 0x5a0]
jmp 0x425c77
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x425f3e
mov eax, dword [esp + 0x14]
add edi, 4
inc eax
cmp eax, 4
mov dword [esp + 0x14], eax
jl 0x425c0d
mov eax, dword [esp + 0x10]
mov edi, 0x4da8f4
add eax, ebx
or ecx, 0xffffffff
mov dword [esp + 0x20], 0
lea edx, [eax + ebp + 0x6c]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x24]
mov ecx, edx
and ecx, 3
add ebx, eax
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x14], ebx
jmp 0x425c77
mov eax, dword [esp + 0x28]
test eax, eax
je 0x425eb8
mov edi, 0x4da8f4
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x2c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
movsx eax, word [ebp + 0x66a]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + eax*4]
mov dword [ebp + ecx*2 + 0x59a], edx
movsx eax, word [ebp + 0x66a]
lea eax, [eax + eax*4]
mov dword [ebp + eax*2 + 0x59e], ebx
mov ecx, dword [esp + 0x10]
lea edi, [esp + 0x2c]
add ecx, ebx
lea edx, [ecx + ebp + 0x6c]
jmp 0x425f9d
mov dword [esp + 0x14], 0
lea edi, [esp + 0x64]
mov esi, dword [edi]
lea eax, [esp + 0x2c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x425f01
test cl, cl
je 0x425efd
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x425f01
add eax, 2
add esi, 2
test cl, cl
jne 0x425edd
xor eax, eax
jmp 0x425f06
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x425f3e
mov eax, dword [esp + 0x14]
add edi, 4
inc eax
cmp eax, 0x14
mov dword [esp + 0x14], eax
jl 0x425ed7
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0x64
xor ebx, ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], ebx
jmp 0x425c77
lea edi, [esp + 0x2c]
jmp 0x425f93
xor edx, edx
lea edi, [esp + 0xb4]
mov esi, dword [edi]
lea eax, [esp + 0x2c]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x425f77
test cl, cl
je 0x425f73
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x425f77
add eax, 2
add esi, 2
test cl, cl
jne 0x425f53
xor eax, eax
jmp 0x425f7c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x425f8b
inc edx
add edi, 4
cmp edx, 3
jl 0x425f4d
jmp 0x425f1b
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0x2c]
mov eax, dword [esp + 0x10]
add eax, ebx
lea edx, [eax + ebp + 0x6c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x24]
mov ecx, edx
and ecx, 3
add ebx, eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
add ecx, eax
mov dword [esp + 0x1c], ecx
jmp 0x425c77