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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov edi, dword [esp + 0x78]
mov ebp, dword [esp + 0x74]
mov dword [esp], 0xaa937b77
mov al, byte [esp + 0x16]
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x4c]
movzx eax, word [esp + 0x32]
mov word [esp + 0xe], ax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], eax
mov eax, dword [esp]
cmp eax, 0x845a73
jle 0x41267a
cmp eax, 0x3bc3b378
jle 0x41273a
cmp eax, 0x5f257484
jg 0x4127fe
cmp eax, 0x459792f1
jle 0x412927
cmp eax, 0x4da77fdd
jg 0x412b6f
cmp eax, 0x459792f2
je 0x412c82
cmp eax, 0x47b9c609
jne 0x4125fc
mov esi, dword [esp + 4]
mov eax, 0x1c80
add esi, eax
and esi, 0xffffff80
mov dword [esp + 4], esi
push esi
call fcn.00413240
add esp, 4
mov eax, 0x2aba2a05
cmp esi, 0x9e
jge 0x4131f8
mov eax, 0x4157743f
jmp 0x4131f8
cmp eax, 0xc71cd4c9
jg 0x4127af
cmp eax, 0xaa937b76
jle 0x41282f
cmp eax, 0xb244b70b
jle 0x41296a
cmp eax, 0xbf8677a5
jg 0x412bd3
cmp eax, 0xb244b70c
je 0x412cae
cmp eax, 0xbcf08c18
jne 0x4125fc
mov dword [esp + 0x40], ebx
mov ebx, ebp
mov ebp, edi
mov edi, dword [esp + 4]
add edi, 0xffffffc4
mov esi, edi
shr esi, 0xa
mov dword [esp + 4], esi
push 0x5f89
push esi
push 0xc5a
push 0x35a
push 0x43e4
push 0x590f
call fcn.0041325d
add esp, 0x18
push 0x3b3f
push 0x5176
push esi
push 0x4cc
push 0x2045
push 0xa5b
call fcn.0041325d
add esp, 0x18
mov eax, 0x845a74
cmp edi, 0x400
jb 0x41272a
mov eax, 0xaf97212b
mov dword [esp], eax
mov edi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x40]
jmp 0x4125fc
cmp eax, 0x12caeac4
jle 0x4128ae
cmp eax, 0x241b1474
jle 0x4129a1
cmp eax, 0x3179aa01
jg 0x412bf5
cmp eax, 0x241b1475
je 0x412cca
cmp eax, 0x2aba2a05
jne 0x4125fc
mov eax, dword [esp + 4]
mov ecx, 0xffffff0b
add eax, ecx
shr eax, 0x16
imul esi, eax, 0xb1
add esi, 0xffffffa9
mov dword [esp + 4], esi
push 0x85b
push esi
call fcn.004125c0
add esp, 8
push esi
call fcn.00413240
add esp, 4
mov dword [esp], 0x3a09e3b4
jmp 0x4125fc
cmp eax, 0xe04cd1eb
jle 0x4128f6
cmp eax, 0xeb227f64
jle 0x4129e5
cmp eax, 0xf247de0e
jg 0x412c2f
cmp eax, 0xeb227f65
je 0x412ce5
cmp eax, 0xeee9bf99
jne 0x4125fc
mov eax, dword [esp + 0x5c]
movzx eax, word [eax]
mov word [esp + 0x34], ax
mov dword [esp], 0x724743a3
jmp 0x4125fc
cmp eax, 0x6c9a1992
jg 0x412a3d
cmp eax, 0x64ee4231
jle 0x412c6b
cmp eax, 0x64ee4232
je 0x412cfc
cmp eax, 0x65a2ab43
je 0x412e00
jmp 0x4125fc
cmp eax, 0x90fbe530
jg 0x412a80
cmp eax, 0x88be01a0
je 0x412d1c
cmp eax, 0x8927a85f
je 0x412d38
cmp eax, 0x895cf966
jne 0x4125fc
mov eax, dword [esp + 8]
mov ecx, eax
shr ecx, 8
imul ecx, ecx
shr eax, 0xc
imul edx, ecx, 0xead
imul eax, eax, 0xd0
dec edx
add eax, 0xffffffed
mov dword [esp + 8], eax
mov eax, 0x6c9a1993
cmp ecx, edx
je 0x41288c
mov eax, 0xf6c5cd5b
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
movzx eax, word [esp + 0x1e]
mov word [esp + 0xe], ax
jmp 0x4125fc
cmp eax, 0x80ea685
jg 0x412ab1
cmp eax, 0x845a74
je 0x412d5a
cmp eax, 0x6f0d1ed
je 0x412e16
cmp eax, 0x76d9ca6
jne 0x4125fc
mov dword [esp + 8], 0
mov dword [esp], 0x6f0d1ed
mov al, byte [esp + 0x17]
mov dword [esp + 0x10], eax
jmp 0x4125fc
cmp eax, 0xd85c26d5
jg 0x412b29
cmp eax, 0xc71cd4ca
je 0x412e2c
cmp eax, 0xc7b8ff6d
je 0x412e4c
cmp eax, 0xccb8bb14
je 0x412d9d
jmp 0x4125fc
cmp eax, 0x3bc3b379
je 0x412e86
cmp eax, 0x4157743f
je 0x412eb0
cmp eax, 0x4431cd5b
jne 0x4125fc
mov esi, dword [esp + 4]
shl esi, 6
add esi, 0xffffffb3
mov dword [esp + 4], esi
push esi
call fcn.00413240
add esp, 4
push esi
push 0x5603
jmp 0x412ee0
cmp eax, 0xaa937b77
je 0x412ef4
cmp eax, 0xaf97212b
je 0x412f09
cmp eax, 0xb2409be6
jne 0x4125fc
cmp dword [esp + 0x58], 0
setne byte [esp + 0x18]
mov dword [esp], 0x12caeac5
jmp 0x4125fc
cmp eax, 0x12caeac5
je 0x412f4d
cmp eax, 0x13d0c0b8
je 0x412d80
cmp eax, 0x1ceb96f1
jne 0x4125fc
imul eax, dword [esp + 8], 0x2ca00000
add eax, 0xff3800f0
mov dword [esp + 8], eax
mov dword [esp], 0x6f0d1ed
mov al, 1
mov dword [esp + 0x10], eax
jmp 0x4125fc
cmp eax, 0xe04cd1ec
je 0x412f8b
cmp eax, 0xe26df8f2
je 0x412fe2
cmp eax, 0xe7dc6a3e
jne 0x4125fc
mov eax, dword [esp + 4]
shr eax, 6
movzx esi, ax
add esi, 0xff
mov dword [esp + 4], esi
push 0x416f
push esi
call fcn.004125c0
add esp, 8
push esi
call fcn.00413240
add esp, 4
mov dword [esp], 0x241b1475
jmp 0x4125fc
cmp eax, 0x6c9a1993
je 0x413017
cmp eax, 0x724743a3
je 0x413056
cmp eax, 0x7e43d795
jne 0x4125fc
mov eax, dword [esp + 0x28]
add eax, 2
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
add eax, 2
mov dword [esp + 0x3c], eax
mov dword [esp], 0x64ee4232
jmp 0x4125fc
cmp eax, 0x90fbe531
je 0x41308f
cmp eax, 0x9d1fe6d8
je 0x4130b0
cmp eax, 0xa076448d
jne 0x4125fc
mov dword [esp + 0x5c], ebx
mov dword [esp], 0xeee9bf99
jmp 0x4125fc
cmp eax, 0x80ea686
je 0x4130c7
cmp eax, 0xa3fe076
je 0x412de4
cmp eax, 0xbcb9fe6
jne 0x4125fc
mov eax, dword [esp + 4]
mov ecx, 0xf6
add eax, ecx
shr eax, 0xc
imul esi, eax, 0x10c00
or esi, 3
mov dword [esp + 4], esi
push 0x116e
push 0x174
push 0x5110
push esi
push 0x16a9
push 0x4c5d
call fcn.0041325d
add esp, 0x18
push 0x5518
push esi
call fcn.004125c0
add esp, 8
mov dword [esp], 0x4da77fde
jmp 0x4125fc
cmp eax, 0xd85c26d6
je 0x413102
cmp eax, 0xdd27e91b
je 0x413121
cmp eax, 0xe02f4fe2
jne 0x4125fc
mov eax, dword [esp + 4]
shl eax, 0xe
add eax, 0xffffff53
shr eax, 9
imul eax, eax, 0xf3
mov dword [esp + 4], eax
mov dword [esp], 0x241b1475
jmp 0x4125fc
cmp eax, 0x4da77fde
je 0x41314f
cmp eax, 0x5ad917fc
jne 0x4125fc
mov esi, dword [esp + 4]
shl esi, 8
add esi, 0x7500
mov dword [esp + 4], esi
push 0x3f5
push 0x42de
push 0x31c6
push esi
push 0x22c0
push 0x4f91
call fcn.0041325d
add esp, 0x18
mov eax, 0x241b1475
cmp esi, 0x94
jge 0x4131f8
mov eax, 0x845a74
jmp 0x4131f8
cmp eax, 0xbf8677a6
je 0x413169
cmp eax, 0xc3501d22
jne 0x4125fc
mov dword [esp], 0x3bc3b379
jmp 0x4125fc
cmp eax, 0x3179aa02
je 0x413185
cmp eax, 0x3a09e3b4
jne 0x4125fc
mov eax, dword [esp + 0x28]
add eax, 2
push eax
push dword [esp + 0x30]
call fcn.004125c0
add esp, 8
mov dword [esp + 0x50], eax
mov dword [esp], 0x4da77fde
jmp 0x4125fc
cmp eax, 0xf247de0f
je 0x4131c7
cmp eax, 0xf6c5cd5b
jne 0x4125fc
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
movzx eax, word [esp + 0xe]
mov word [esp + 0x36], ax
mov dword [esp], 0x845a74
jmp 0x4125fc
cmp eax, 0x5f257485
jne 0x413200
mov eax, dword [esp + 4]
and eax, 0xffffffc0
shl eax, 5
jmp 0x412cba
mov eax, dword [esp + 4]
lea ecx, [eax + eax]
add ecx, 0xa9
mov dword [esp + 4], ecx
mov eax, 0x90fbe531
cmp ecx, 0xfb
jb 0x4131f8
mov eax, 0xf247de0f
jmp 0x4131f8
mov eax, dword [esp + 4]
shl eax, 0x10
or eax, 0xe1
mov dword [esp + 4], eax
mov dword [esp], 0x845a74
jmp 0x4125fc
cmp word [esp + 0x1a], 0
mov eax, 0xd85c26d6
je 0x4131f8
mov eax, 0xdd27e91b
jmp 0x4131f8
cmp word [esp + 0x34], 0
sete byte [esp + 0x17]
mov dword [esp], 0x76d9ca6
jmp 0x4125fc
imul eax, dword [esp + 8], 0x39800
add eax, 0x2b1fff
shr eax, 2
mov dword [esp + 8], eax
mov dword [esp], 0xc3501d22
jmp 0x4125fc
mov eax, dword [esp + 8]
shl eax, 0xa
or eax, 0xcb
mov dword [esp + 8], eax
mov dword [esp], 0xb2409be6
jmp 0x4125fc
mov eax, dword [esp + 8]
shl eax, 0x16
or eax, 0x4400
imul eax, eax, 0x71
or eax, 0x27
mov dword [esp + 8], eax
mov dword [esp], 0xc71cd4ca
jmp 0x4125fc
mov eax, dword [esp + 0x28]
movzx eax, word [eax]
mov word [esp + 0x1c], ax
movzx eax, word [esp + 0x1c]
test ax, ax
je 0x412d9d
cmp ax, 0x2a
je 0x412de4
cmp ax, 0x3f
jne 0x412e00
imul eax, dword [esp + 8], 0x3384
add eax, 0x1f1e
mov dword [esp + 8], eax
mov dword [esp], 0x7e43d795
jmp 0x4125fc
mov eax, dword [esp + 8]
shr eax, 9
imul eax, eax, 0xdf
add eax, 0x36
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x2c5d
and eax, 0xffffff80
shl eax, 8
dec edx
add eax, 0xffffffd6
mov dword [esp + 8], eax
mov eax, 0x241b1475
cmp ecx, edx
je 0x412dd4
mov eax, 0x6f0d1ed
mov dword [esp], eax
mov dword [esp + 0x10], 0
jmp 0x4125fc
mov eax, dword [esp + 8]
shl eax, 4
add eax, 0xba
mov dword [esp + 8], eax
mov dword [esp], 0x3a09e3b4
jmp 0x4125fc
movzx ecx, word [esp + 0x1c]
movzx edx, word [esp + 0x36]
mov eax, 0x7e43d795
cmp dx, cx
jne 0x412dcf
jmp 0x412dd4
mov eax, dword [esp + 0x10]
and al, 1
mov byte [esp + 0x19], al
mov dword [esp], 0x602deeaf
jmp 0x4125fc
push dword [esp + 0x28]
push dword [esp + 0x58]
call fcn.004125c0
add esp, 8
mov dword [esp + 0x58], eax
mov dword [esp], 0x88be01a0
jmp 0x4125fc
mov eax, dword [esp + 8]
mov ecx, 0xffffff4e
add eax, ecx
mov ecx, eax
imul ecx, eax
shl eax, 4
imul edx, ecx, 0x6875
dec edx
add eax, 0x17c
mov dword [esp + 8], eax
mov eax, 0x845a74
cmp ecx, edx
je 0x4131f8
mov eax, 0x9d1fe6d8
jmp 0x4131f8
mov eax, dword [esp + 0x3c]
movzx eax, word [eax]
mov word [esp + 0x1e], ax
cmp word [esp + 0x1e], 0
mov eax, 0xa076448d
je 0x412ea4
mov eax, 0x895cf966
mov dword [esp], eax
mov ebx, dword [esp + 0x38]
jmp 0x4125fc
mov eax, dword [esp + 4]
shr eax, 5
and eax, 0x7fffc00
imul esi, eax, 0x46
shr esi, 9
add esi, 0xf0
mov dword [esp + 4], esi
push 0x3c76
push esi
call fcn.004125c0
add esp, 8
push 0x536e
push esi
call fcn.004125c0
add esp, 8
mov dword [esp], 0x241b1475
jmp 0x4125fc
movzx eax, word [ebp]
mov word [esp + 0x1a], ax
mov dword [esp], 0x241b1475
jmp 0x4125fc
imul esi, dword [esp + 4], 0xbd
add esi, 0x403b
mov dword [esp + 4], esi
push esi
call fcn.00413240
add esp, 4
push esi
push 0x5136
call fcn.004125c0
add esp, 8
mov eax, 0x845a74
cmp esi, 0xfc
jge 0x4131f8
mov eax, 0xbcb9fe6
jmp 0x4131f8
mov eax, dword [esp + 8]
lea ecx, [eax + 0xcc]
imul ecx, ecx
add eax, 0x107
imul edx, ecx, 0x5be5
shr eax, 0xc
dec edx
mov dword [esp + 8], eax
mov eax, 0xbcf08c18
cmp ecx, edx
je 0x412f7b
mov eax, 0x6f0d1ed
mov dword [esp], eax
mov al, byte [esp + 0x18]
mov dword [esp + 0x10], eax
jmp 0x4125fc
mov eax, dword [esp + 4]
shl eax, 4
add eax, 0xfffe3800
and eax, 0xfffffe00
mov ecx, eax
shl ecx, 7
lea esi, [ecx + eax*4]
shr esi, 8
mov dword [esp + 4], esi
push esi
call fcn.00413240
add esp, 4
push 0x5c84
push 0x26bf
push 0x4367
push 0x54fe
push 0x375b
push esi
call fcn.0041325d
add esp, 0x18
mov dword [esp], 0x241b1475
jmp 0x4125fc
mov eax, dword [esp + 4]
lea eax, [eax + eax*8]
add eax, eax
add eax, 0xffffff43
shr eax, 0xb
imul eax, eax, 0x6e4
mov dword [esp + 4], eax
push 0x52e3
push eax
call fcn.004125c0
add esp, 8
mov dword [esp], 0xe02f4fe2
jmp 0x4125fc
mov eax, dword [esp + 4]
shl eax, 0xe
add eax, 0xffab0000
and eax, 0xffff8000
imul esi, eax, 0xa5d1
mov dword [esp + 4], esi
push esi
call fcn.00413240
add esp, 4
push esi
call fcn.00413240
add esp, 4
mov eax, 0x7e43d795
test esi, esi
jne 0x41317e
jmp 0x4131f8
mov eax, dword [esp + 8]
add eax, 0xa
mov ecx, eax
imul ecx, eax
shr eax, 0xd
imul edx, ecx, 0x7df1
dec edx
add eax, 0xfffffeb8
shr eax, 3
mov dword [esp + 8], eax
mov eax, 0x459792f2
cmp ecx, edx
je 0x4131f8
mov eax, 0xeb227f65
jmp 0x4131f8
imul ecx, dword [esp + 4], 0x1f9c
shr ecx, 0xa
and ecx, 0xfffffff8
mov dword [esp + 4], ecx
mov eax, 0x80ea686
cmp ecx, 0x26
jb 0x4130f8
jmp 0x4131f8
mov eax, dword [esp + 0x2c]
add eax, 2
mov dword [esp + 0x54], eax
mov dword [esp], 0x8927a85f
jmp 0x4125fc
mov eax, dword [esp + 4]
add eax, 0x79
shr eax, 0xf
lea ecx, [eax*8]
sub ecx, eax
shr ecx, 2
mov edx, ecx
shl edx, 8
sub edx, ecx
sub edx, ecx
mov dword [esp + 4], edx
mov eax, 0x241b1475
cmp edx, 0x40
jb 0x4131f8
mov eax, 0xeee9bf99
jmp 0x4131f8
imul eax, dword [esp + 8], 0x2fbb48
add eax, 0xf29353c0
mov dword [esp + 8], eax
mov dword [esp], 0xa076448d
mov ebx, edi
jmp 0x4125fc
mov eax, dword [esp + 8]
shl eax, 0xd
or eax, 0xcf
mov dword [esp + 8], eax
mov dword [esp], 0xf6c5cd5b
movzx eax, word [esp + 0x1a]
mov word [esp + 0xe], ax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edi
jmp 0x4125fc
cmp dword [esp + 0x50], 0
mov eax, 0xc7b8ff6d
je 0x4131f8
mov eax, 0x1ceb96f1
jmp 0x4131f8
mov ecx, dword [esp + 4]
add ecx, 6
mov dword [esp + 4], ecx
mov eax, 0xe04cd1ec
cmp ecx, 0x4c
jl 0x4131f8
mov eax, 0x241b1475
jmp 0x4131f8
mov eax, dword [esp + 4]
shl eax, 0xd
or eax, 0x14
imul eax, eax, 0xfc0
mov dword [esp + 4], eax
push 0x3ad2
push eax
push 0x5833
push 0x1bf4
push 0x1c6a
push 0x4540
call fcn.0041325d
add esp, 0x18
mov dword [esp], 0x845a74
jmp 0x4125fc
mov esi, dword [esp + 4]
add esi, 0x1e
and esi, 0x1fffffff
mov dword [esp + 4], esi
push 0x560a
push esi
call fcn.004125c0
add esp, 8
mov eax, 0x241b1475
cmp esi, 0xf2
je 0x4131f8
mov eax, 0xe7dc6a3e
mov dword [esp], eax
jmp 0x4125fc
cmp eax, 0x602deeaf
jne 0x4125fc
mov eax, dword [esp + 0x10]
and al, 1
mov byte [esp + 0x16], al
mov dword [esp + 0x4c], ebx
movzx eax, word [esp + 0xe]
mov word [esp + 0x32], ax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x44], eax
movzx eax, byte [esp + 0x19]
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret