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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xe4
mov esi, dword [esp + 0xfc]
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x100001
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 0x4021
call fcn.00443c00
xor ecx, ecx
cmp eax, 0
jl 0x4258b7
mov dword [esp], esi
call fcn.00419a70
shl eax, 1
mov word [esp + 0xc8], ax
movzx eax, ax
add eax, 2
mov word [esp + 0xca], ax
mov dword [esp + 0xcc], esi
mov dword [esp], 0x848
call fcn.0043e7a0
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0x74]
mov al, byte [esp + 0x84]
mov byte [esp + 0xb0], al
mov byte [esp + 0x88], 0x1d
mov byte [esp + 0x89], 0x1a
mov byte [esp + 0x8a], 0x1b
mov byte [esp + 0x8b], 0x18
mov eax, 4
mov byte [esp + eax + 0x88], 0
add eax, 1
cmp eax, 8
jne 0x425109
xor eax, eax
cmp eax, 8
jae 0x425154
movzx edx, byte [esp + eax + 0x88]
mov ecx, 0x84
sub ecx, eax
or ecx, edx
mov ebx, eax
add ebx, 0x7b
mov edi, eax
add edi, 0x7b
and ebx, edi
xor edx, 0xffffffff
or ebx, edx
and ebx, ecx
mov cl, 0x98
sub cl, bl
mov byte [esp + eax + 0x88], cl
add eax, 1
jmp 0x42511b
mov edi, dword [esp + 0x88]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x4510e4]
jb 0x42516f
jmp 0x425227
mov edx, dword [0x4510e8]
cmp dword [edx + ebp*8], 0x7fd4133f
sete bl
xor ecx, ecx
mov byte [esp + 0x3b], bl
test bl, 1
jne 0x42518f
jmp 0x425216
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x425216
mov eax, dword [0x4510ec]
xor ecx, ecx
lea ecx, [esp + 0xdc]
lea ebx, [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x848
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], 0
call fcn.004414e0
mov ecx, 1
test byte [esp + 0x3b], 1
je 0x42521f
jmp 0x425227
add ebp, 1
jmp 0x42515d
cmp ecx, 2
je 0x42522e
mov edi, eax
xor ecx, ecx
cmp edi, 0
jl 0x4257b8
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
mov eax, dword [esp + 0x48]
jmp 0x425245
mov dword [esp + 0x40], ebp
mov edi, dword [eax + 0x3c]
shr edi, 1
mov esi, eax
add esi, 0x38
mov dword [esp + 0x44], eax
mov eax, dword [eax + 0x38]
and eax, 0x400
cmp eax, 0
jne 0x4254a0
mov al, byte [esp + 0x68]
mov byte [esp + 0x90], al
mov byte [esp + 0x6c], 0xc2
mov byte [esp + 0x6d], 0x9f
mov byte [esp + 0x6e], 0x9e
mov byte [esp + 0x6f], 0x91
mov eax, 4
mov byte [esp + eax + 0x6c], 0
add eax, 1
cmp eax, 6
jne 0x42528c
mov dword [esp + 0x3c], ecx
xor eax, eax
mov dword [esp + 0xc4], ebx
cmp eax, 6
jae 0x425306
movzx ebx, byte [esp + eax + 0x6c]
mov edx, 0x6ccfacda
sub edx, eax
or edx, ebx
mov ecx, 0xda
sub ecx, eax
mov ebp, 0xda
sub ebp, eax
or ecx, ebp
and ecx, ebx
xor edx, 0xffffffff
or ecx, edx
mov ebx, ecx
xor ebx, 0xdff19fb9
mov edx, ecx
or edx, 0x200e6046
and edx, ebx
mov ebx, dword [esp + 0xc4]
or ecx, 0x200e6046
add edx, ecx
mov ecx, edx
shl ecx, 1
and ecx, 2
xor edx, 1
add edx, ecx
mov byte [esp + eax + 0x6c], dl
add eax, 1
jmp 0x4252a6
mov ebp, dword [esp + 0x44]
add ebp, 0x44
lea eax, [esp + 0x6c]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.004258d0
cmp eax, 0
setne al
test al, 1
mov ecx, dword [esp + 0x3c]
jne 0x425334
jmp 0x4254a0
mov al, byte [esp + 0x64]
mov byte [esp + 0x94], al
mov byte [esp + 0xb8], 0x4a
mov byte [esp + 0xb9], 0x19
mov byte [esp + 0xba], 0x44
mov byte [esp + 0xbb], 0x17
mov byte [esp + 0xbc], 0x14
mov byte [esp + 0xbd], 0x15
mov eax, 6
mov byte [esp + eax + 0xb8], 0
add eax, 1
cmp eax, 0xb
jne 0x425374
xor eax, eax
cmp eax, 0xb
jae 0x4253dc
movzx ebx, byte [esp + eax + 0xb8]
mov edx, 0xf9
sub edx, eax
mov ecx, 0xf9
sub ecx, eax
and edx, ecx
mov ecx, eax
add ecx, 0x89d0d206
or ecx, ebx
xor ebx, 0xffffffff
or edx, ebx
mov ebx, dword [esp + 0xc4]
and ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0xc2
xor ecx, 0xe1
add ecx, edx
add cl, 1
mov byte [esp + eax + 0xb8], cl
add eax, 1
jmp 0x425386
lea eax, [esp + 0xb8]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.004258d0
cmp eax, 0
jne 0x425405
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
jmp 0x4254a6
mov eax, edi
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x425420
mov ecx, eax
mov dword [esp], ecx
call fcn.004088e0
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov edi, eax
call fcn.004196c0
mov word [eax], 0
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x28]
mov edx, dword [esi]
and edx, 0x10
xor eax, eax
cmp edx, 0
setne al
mov edx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], edi
and eax, 1
mov dword [esp + 4], eax
call dword [esp + 0x100]
and al, 1
movzx eax, al
mov ecx, dword [esp + 0x3c]
and cl, 1
movzx ecx, cl
or ecx, eax
cmp ecx, 0
setne al
and al, 1
mov esi, eax
mov dword [esp], edi
call fcn.004088f0
mov ebp, dword [esp + 0x40]
jmp 0x42549c
mov ecx, esi
jmp 0x4254a6
mov ebp, dword [esp + 0x40]
jmp 0x4254a6
cmp ebp, 0
je 0x4254af
mov edi, ebx
jmp 0x4254dc
mov esi, ecx
mov dword [esp], 0x10900
call fcn.0043e7a0
mov edi, eax
cmp edi, 0
jne 0x4254d6
xor ebp, ebp
mov eax, 2
mov edi, dword [esp + 0x44]
mov ecx, esi
jmp 0x4257aa
mov ebp, edi
mov ecx, esi
jmp 0x4254dc
cmp edi, ebp
jne 0x425797
mov al, byte [esp + 0x58]
mov byte [esp + 0x98], al
mov byte [esp + 0x5c], 0x24
mov byte [esp + 0x5d], 0x3c
mov byte [esp + 0x5e], 0x25
mov byte [esp + 0x5f], 0x21
mov eax, 4
mov byte [esp + eax + 0x5c], 0
add eax, 1
cmp eax, 8
jne 0x425508
mov dword [esp + 0x3c], ecx
xor eax, eax
cmp eax, 8
jae 0x42554d
movzx edx, byte [esp + eax + 0x5c]
mov ecx, eax
add ecx, 0xfc48db09
xor ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0xa4
xor ecx, 0xd2
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x5c], cl
add eax, 1
jmp 0x42551b
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xd4], eax
mov al, byte [esp + 0x78]
mov byte [esp + 0xb4], al
mov byte [esp + 0x7c], 0x1d
mov byte [esp + 0x7d], 0x1a
mov byte [esp + 0x7e], 0x1b
mov byte [esp + 0x7f], 0x18
mov eax, 4
mov byte [esp + eax + 0x7c], 0
add eax, 1
cmp eax, 8
jne 0x425587
xor eax, eax
cmp eax, 8
jae 0x4255c9
movzx edx, byte [esp + eax + 0x7c]
mov ecx, 0x84
sub ecx, eax
or ecx, edx
mov ebx, eax
add ebx, 0x7b
mov esi, eax
add esi, 0x7b
and ebx, esi
xor edx, 0xffffffff
or ebx, edx
and ebx, ecx
mov cl, 0x98
sub cl, bl
mov byte [esp + eax + 0x7c], cl
add eax, 1
jmp 0x425596
mov dword [esp + 0x40], ebp
mov esi, dword [esp + 0x7c]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x4510e4]
jb 0x4255e5
jmp 0x4256a3
mov edx, dword [0x4510e8]
cmp dword [edx + ebp*8], 0x7fd4133f
sete bh
xor ecx, ecx
mov bl, bh
test bh, 1
jne 0x425603
jmp 0x425694
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, esi
je 0x425694
mov eax, dword [0x4510ec]
xor ecx, ecx
lea ecx, [esp + 0xdc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
lea eax, [esp + 0xc8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
call fcn.004414e0
mov ecx, 1
test bl, 1
je 0x42569b
jmp 0x4256a3
add ebp, 1
jmp 0x4255d3
cmp ecx, 2
mov ebp, dword [esp + 0x40]
je 0x4256ae
mov esi, eax
mov al, byte [esp + 0x4c]
mov byte [esp + 0x9c], al
mov byte [esp + 0x50], 0x8b
mov byte [esp + 0x51], 0x87
mov byte [esp + 0x52], 0x86
mov byte [esp + 0x53], 1
mov eax, 4
mov byte [esp + eax + 0x50], 0
add eax, 1
cmp eax, 6
jne 0x4256d2
xor eax, eax
cmp eax, 6
jae 0x425736
movzx edx, byte [esp + eax + 0x50]
mov ebx, eax
add ebx, 0x3fa2ede1
mov ecx, 0xc05d121e
sub ecx, eax
and ecx, 0xac17ed4e
and ebx, 0x53e812b1
or ecx, ebx
xor ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0x83a2b534
xor edx, 0x229014
xor ecx, 0x6dc6b7d4
mov ebx, ecx
and ebx, edx
xor ecx, edx
add ecx, 1
shl ebx, 1
add ecx, ebx
mov byte [esp + eax + 0x50], cl
add eax, 1
jmp 0x4256e1
mov eax, dword [esp + 0x50]
cmp esi, eax
jne 0x42576a
xor eax, eax
mov edx, edi
jmp 0x425744
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x42575b
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x425744
cmp eax, 0
je 0x425766
mov dword [eax], 0
xor esi, esi
jmp 0x42576a
cmp esi, 0
jge 0x425782
mov dword [esp], ebp
call fcn.0043e810
mov eax, 2
mov ecx, dword [esp + 0x3c]
jmp 0x42578a
xor eax, eax
mov ecx, dword [esp + 0x3c]
jmp 0x42578a
cmp eax, 0
je 0x425797
mov ebx, edi
mov edi, dword [esp + 0x44]
jmp 0x4257aa
mov eax, dword [edi]
cmp eax, 0
je 0x4257a4
mov ebx, edi
add ebx, eax
jmp 0x4257a8
mov ebx, ebp
jmp 0x4257a8
xor eax, eax
test eax, eax
mov eax, edi
je 0x425245
jmp 0x4257b6
jmp 0x4257b8
mov esi, ecx
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.0043e810
mov eax, dword [esp + 0x74]
mov dword [esp + 0xd0], eax
mov al, byte [esp + 0xa0]
mov byte [esp + 0xac], al
mov byte [esp + 0xa4], 0x1d
mov byte [esp + 0xa5], 0x1a
mov byte [esp + 0xa6], 0x1b
mov byte [esp + 0xa7], 0x18
mov eax, 4
mov byte [esp + eax + 0xa4], 0
add eax, 1
cmp eax, 8
jne 0x425804
xor eax, eax
cmp eax, 8
jae 0x42584f
movzx edx, byte [esp + eax + 0xa4]
mov ecx, 0x84
sub ecx, eax
or ecx, edx
mov ebx, eax
add ebx, 0x7b
mov edi, eax
add edi, 0x7b
and ebx, edi
xor edx, 0xffffffff
or ebx, edx
and ebx, ecx
mov cl, 0x98
sub cl, bl
mov byte [esp + eax + 0xa4], cl
add eax, 1
jmp 0x425816
mov edi, dword [esp + 0xa4]
xor ebp, ebp
mov ecx, esi
cmp ebp, dword [0x4510e4]
jb 0x425864
jmp 0x4258b7
mov eax, dword [0x4510e8]
cmp dword [eax + ebp*8], 0x1b6183f2
sete bl
test bl, 1
jne 0x42587a
jmp 0x4258ab
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
jne 0x425884
jmp 0x4258ab
mov ecx, dword [0x4510ec]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xc], eax
call fcn.004414e0
mov ecx, esi
test bl, 1
je 0x4258b2
jmp 0x4258b7
add ebp, 1
jmp 0x42585a
and cl, 1
movzx eax, cl
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret