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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x84]
cmp eax, dword [ecx + 8]
jbe 0x4f2c13
sub esp, 0x104
lea edi, [esp + 0x128]
xor eax, eax
call fcn.0045222b
mov ecx, dword [esp + 0x124]
test ecx, ecx
jne 0x4f243d
mov dword [esp + 0xb6], 0x38506d87
lea edi, [esp + 0xb8]
lea esi, [0x5d4376]
call fcn.004526e6
mov dword [esp + 0x90], 0x9dbdd6fb
lea edi, [esp + 0x92]
lea esi, [0x5d4434]
call fcn.004526e6
xor eax, eax
jmp 0x4f2bb0
mov edx, dword [esp + 0x10c]
lea ebx, [edx - 1]
test ebx, ebx
jge 0x4f2475
mov ebp, edx
neg edx
mov eax, 0xaaaaaaab
mov ebx, edx
imul edx
sub edx, ebp
sar edx, 3
sar ebx, 0x1f
sub edx, ebx
mov esi, dword [esp + 0x108]
sub esi, edx
dec esi
lea edx, [edx + edx*2]
lea ebx, [ebp + edx*4 + 0xb]
jmp 0x4f247c
mov esi, dword [esp + 0x108]
cmp ebx, 0xc
jl 0x4f2497
mov eax, 0xaaaaaaab
imul ebx
add edx, ebx
sar edx, 3
add esi, edx
lea edx, [edx + edx*2]
shl edx, 2
sub ebx, edx
mov edx, dword [esp + 0x120]
test edx, edx
jge 0x4f24d5
lea ebp, [edx + 1]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov eax, 0x44b82fa1
mov edi, edx
imul ebp
sar edx, 0x1c
sar ebp, 0x1f
sub edx, ebp
mov ebp, dword [esp + 0x11c]
sub ebp, edx
dec ebp
imul edx, edx, 0x3b9aca00
lea edx, [edi + edx + 0x3b9aca00]
jmp 0x4f24dc
mov ebp, dword [esp + 0x11c]
cmp edx, 0x3b9aca00
jl 0x4f24fe
mov eax, 0x44b82fa1
mov edi, edx
imul edx
sar edx, 0x1c
add ebp, edx
mov eax, ebx
imul ebx, edx, 0x3b9aca00
sub edi, ebx
jmp 0x4f2502
mov eax, ebx
mov edi, edx
test ebp, ebp
jge 0x4f2542
lea edx, [ebp + 1]
neg edx
mov dword [esp + 0x8c], edx
mov ebx, eax
mov eax, 0x88888889
imul edx
sub edx, ebp
dec edx
sar edx, 5
mov eax, edi
mov edi, dword [esp + 0x8c]
sar edi, 0x1f
sub edx, edi
mov edi, dword [esp + 0x118]
sub edi, edx
dec edi
imul edx, edx, 0x3c
lea ebp, [ebp + edx + 0x3c]
jmp 0x4f254d
mov ebx, eax
mov eax, edi
mov edi, dword [esp + 0x118]
mov dword [esp + 0x8c], eax
cmp ebp, 0x3c
jl 0x4f2573
mov eax, 0x88888889
imul ebp
add edx, ebp
sar edx, 5
add edi, edx
imul edx, edx, 0x3c
sub ebp, edx
mov eax, dword [esp + 0x8c]
test edi, edi
jge 0x4f25b1
lea edx, [edi + 1]
neg edx
mov dword [esp + 0x88], edx
mov eax, 0x88888889
imul edx
sub edx, edi
dec edx
sar edx, 5
mov eax, ebp
mov ebp, dword [esp + 0x88]
sar ebp, 0x1f
sub edx, ebp
mov ebp, dword [esp + 0x114]
sub ebp, edx
dec ebp
imul edx, edx, 0x3c
lea edi, [edi + edx + 0x3c]
jmp 0x4f25ba
mov eax, ebp
mov ebp, dword [esp + 0x114]
mov dword [esp + 0x88], eax
cmp edi, 0x3c
jl 0x4f25e0
mov eax, 0x88888889
imul edi
add edx, edi
sar edx, 5
add ebp, edx
imul edx, edx, 0x3c
sub edi, edx
mov eax, dword [esp + 0x88]
test ebp, ebp
jge 0x4f261e
lea edx, [ebp + 1]
neg edx
mov dword [esp + 0x84], edx
mov eax, 0xaaaaaaab
imul edx
sub edx, ebp
dec edx
sar edx, 4
mov eax, edi
mov edi, dword [esp + 0x84]
sar edi, 0x1f
sub edx, edi
mov edi, dword [esp + 0x110]
sub edi, edx
dec edi
lea edx, [edx + edx*2]
lea ebp, [ebp + edx*8 + 0x18]
jmp 0x4f2627
mov eax, edi
mov edi, dword [esp + 0x110]
mov dword [esp + 0x84], eax
cmp ebp, 0x18
jl 0x4f2650
mov eax, 0xaaaaaaab
imul ebp
add edx, ebp
sar edx, 4
add edi, edx
lea edx, [edx + edx*2]
shl edx, 3
sub ebp, edx
mov eax, dword [esp + 0x84]
mov dword [esp + 0x50], esi
mov dword [esp + 0x80], ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], ebp
mov edx, esi
sar esi, 0x1f
mov dword [esp + 0x7c], esi
add edx, 0xd116ebf
adc esi, 0x44
mov dword [esp + 0x78], esi
shr esi, 1
mov eax, esi
mov ebp, 0xa3d70a3e
mov esi, edx
mul ebp
shr edx, 7
mov dword [esp + 0x74], edx
imul edi, edx, 0x190
mov ebx, dword [esp + 0x78]
sub ebx, edi
mov eax, ebx
mov edi, 0xa3d70a
mul edi
mov dword [esp + 0x70], eax
lea ebx, [ebx + ebx*2]
mov edi, esi
shr esi, 1
mov eax, esi
mov esi, edx
mul ebp
shr edx, 7
mov dword [esp + 0x6c], edx
mov eax, esi
imul esi, edx, 0x190
sub edi, esi
shl ebx, 5
add ebx, edi
shr ebx, 1
mov esi, eax
mov eax, ebx
mov ebx, edx
mul ebp
shr edx, 7
mov dword [esp + 0x68], edx
add ebx, 0
mov dword [esp + 0x64], ebx
mov edi, dword [esp + 0x70]
add ebx, edi
add edx, ebx
mov dword [esp + 0x30], edx
mov eax, edx
mov ebp, 0x190
mul ebp
mov dword [esp + 0x70], edx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x30]
mov ebp, 0x23ab1
mul ebp
mov dword [esp + 0x5c], edx
mov dword [esp + 0x34], eax
mov ebp, dword [esp + 0x6c]
add ebp, 0
mov ebp, dword [esp + 0x74]
adc ebp, 0
mov edx, dword [esp + 0x64]
add edx, edi
adc ebp, esi
mov edx, dword [esp + 0x68]
add edx, ebx
adc ebp, 0
mov dword [esp + 0x78], ebp
imul edx, ebp, 0x190
mov ebx, dword [esp + 0x70]
add edx, ebx
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x60]
sub ebx, esi
mov dword [esp + 0x74], ebx
mov esi, dword [esp + 0x7c]
sbb esi, edx
mov dword [esp + 0x7c], esi
add ebx, 0xd116ebf
adc esi, 0x44
mov dword [esp + 0x58], esi
shr esi, 1
mov eax, esi
mov edi, 0xa3d70a3e
mul edi
shr edx, 5
mov dword [esp + 0x70], edx
imul ebp, edx, 0x64
mov esi, dword [esp + 0x58]
sub esi, ebp
mov eax, esi
mov ebp, 0x28f5c28
mul ebp
mov dword [esp + 0x6c], eax
mov ebp, ebx
shr ebx, 1
mov eax, ebx
mov ebx, edx
mul edi
lea esi, [esi + esi*2]
shr edx, 5
mov eax, ebx
imul ebx, edx, 0x64
sub ebp, ebx
shl esi, 5
lea ebx, [esi + ebp]
shr ebx, 1
mov ebp, eax
mov eax, ebx
mov ebx, edx
mul edi
shr edx, 5
mov dword [esp + 0x68], edx
mov esi, ebx
add ebx, 0
mov edi, dword [esp + 0x6c]
add edi, ebx
add edx, edi
mov dword [esp + 0x30], edx
mov eax, 0x64
mul edx
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov eax, 0x8eac
mov edx, dword [esp + 0x30]
mul edx
mov dword [esp + 0x54], edx
add esi, 0
mov esi, dword [esp + 0x70]
adc esi, 0
mov edx, dword [esp + 0x6c]
add edx, ebx
adc ebp, esi
mov edx, dword [esp + 0x68]
add edx, edi
adc ebp, 0
imul edx, ebp, 0x64
mov ebx, dword [esp + 0x64]
add edx, ebx
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x60]
sub ebx, esi
mov dword [esp + 0x74], ebx
mov esi, dword [esp + 0x7c]
sbb esi, edx
mov dword [esp + 0x7c], esi
add ebx, 0xd116ebf
adc esi, 0x44
mov dword [esp + 0x58], esi
shr ebx, 2
shl esi, 0x1e
or esi, ebx
mov dword [esp + 0x70], esi
mov ebx, eax
mov eax, 0x5b5
mul esi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], eax
shl esi, 2
mov edx, dword [esp + 0x74]
sub edx, esi
mov dword [esp + 0x64], edx
add edx, 0xd116ebf
mov eax, 0x16d
mul edx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x78]
imul edx, edx, 0x23ab1
mov edi, dword [esp + 0x5c]
add edx, edi
imul ebp, ebp, 0x8eac
mov edi, dword [esp + 0x54]
add ebp, edi
mov edi, dword [esp + 0x34]
add edi, ebx
adc edx, ebp
mov dword [esp + 0x78], edx
mov ebx, dword [esp + 0x58]
shr ebx, 2
mov ebp, ebx
shl ebx, 2
mov edx, dword [esp + 0x70]
shr edx, 0x1e
or edx, ebx
mov ebx, dword [esp + 0x74]
sub ebx, esi
mov ebx, dword [esp + 0x7c]
sbb ebx, edx
mov edx, dword [esp + 0x64]
add edx, 0xd116ebf
adc ebx, 0x44
imul edx, ebp, 0x5b5
mov ebp, dword [esp + 0x6c]
add edx, ebp
mov ebp, dword [esp + 0x68]
add ebp, edi
mov esi, dword [esp + 0x78]
adc edx, esi
imul ebx, ebx, 0x16d
mov esi, dword [esp + 0x60]
add ebx, esi
add eax, ebp
adc ebx, edx
nop
mov edx, dword [esp + 0x80]
cmp edx, 0xd
jae 0x4f2b92
lea ebp, [0x6999a0]
mov ebp, dword [ebp + edx*4]
mov esi, ebp
sar ebp, 0x1f
add esi, eax
adc ebx, ebp
mov ebp, dword [esp + 0x50]
test ebp, 3
jne 0x4f2961
mov eax, 0x51eb851f
mov edi, edx
imul ebp
mov dword [esp + 0x80], edx
mov eax, ebp
sar ebp, 0x1f
sar edx, 5
sub edx, ebp
imul edx, edx, 0x64
cmp eax, edx
jne 0x4f2953
mov edx, dword [esp + 0x80]
sar edx, 7
sub edx, ebp
imul edx, edx, 0x190
cmp eax, edx
jne 0x4f2961
lea edx, [edi + 1]
cmp edx, 3
jl 0x4f2961
add esi, 1
adc ebx, 0
mov edx, dword [esp + 0x4c]
lea eax, [edx - 1]
mov edx, eax
add eax, esi
mov ebp, 0x15180
mov edi, edx
mul ebp
mov ebp, edi
sar edi, 0x1f
add ebp, esi
adc edi, ebx
imul ebx, edi, 0x15180
add edx, ebx
mov ebx, dword [esp + 0x3c]
imul ebx, ebx, 0xe10
mov ebp, dword [esp + 0x84]
imul ebp, ebp, 0x3c
add ebx, ebp
mov ebp, dword [esp + 0x88]
add ebx, ebp
mov ebp, ebx
sar ebx, 0x1f
add ebp, eax
mov dword [esp + 0x48], ebp
adc edx, ebx
mov dword [esp + 0x7c], edx
add ebp, 0xe5263700
mov dword [esp + 0x40], ebp
adc edx, 0x80000001
mov dword [esp + 0x44], edx
mov dword [esp], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], ebp
call fcn.004f2c90
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
test ecx, ecx
je 0x4f2a9d
mov dword [esp + 0x38], edx
mov eax, ecx
sar ecx, 0x1f
mov edi, ebp
mov ebp, dword [esp + 0x48]
sub ebp, eax
mov edx, dword [esp + 0x7c]
sbb edx, ecx
add ebp, 0xe5263700
adc edx, 0x80000001
mov dword [esp + 0x2c], edx
cmp ebx, edx
setg cl
sete bl
mov edx, dword [esp + 0x38]
cmp ebp, edx
setb dl
and edx, ebx
or edx, ecx
test dl, dl
je 0x4f2a3e
mov ecx, dword [esp + 0x2c]
mov esi, ebp
jmp 0x4f2a5f
mov ecx, dword [esp + 0x2c]
cmp esi, ecx
setl dl
sete bl
cmp ebp, edi
mov esi, ebp
xchg ebp, ebx
setae bl
xchg ebp, ebx
and ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f2a7c
mov eax, dword [esp + 0x124]
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
call fcn.004f2c90
mov ecx, dword [esp + 0x14]
jmp 0x4f2a7e
mov ecx, eax
mov ebx, ecx
sar ecx, 0x1f
mov ebp, dword [esp + 0x48]
sub ebp, ebx
mov edx, dword [esp + 0x7c]
sbb edx, ecx
add ebp, 0xe5263700
adc edx, 0x80000001
jmp 0x4f2aa5
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x40]
add ebp, 0x7791f700
adc edx, 0xe
lea edi, [esp + 0xdc]
xor eax, eax
call fcn.0045222b
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xdc], ecx
sar ecx, 0x1f
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xe8], edx
mov ecx, dword [0x6ac9a8]
mov dword [esp + 0xec], ecx
lea edi, [esp + 0xf0]
lea esi, [esp + 0xdc]
call fcn.0045270e
nop
mov ecx, dword [esp + 0x124]
lea edx, [0x6aeaa0]
cmp ecx, edx
jne 0x4f2b16
xor ecx, ecx
nop
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
test edx, 0x80000000
je 0x4f2b71
shl edx, 1
mov ebx, eax
shr eax, 0x1f
or eax, edx
shl ebx, 1
mov edx, eax
shl eax, 1
shr ebx, 0x1f
or eax, ebx
shr edx, 0x1f
add eax, 0xd7b17f80
adc edx, 0xd
nop
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edx
and dword [esp + 0xf0], 0x3fffffff
mov dword [esp + 0xf4], 0
mov dword [esp + 0x100], ecx
lea edi, [esp + 0x128]
lea esi, [esp + 0xf0]
call fcn.0045270e
add esp, 0x104
ret
mov eax, edx
mov ecx, 0xd
call fcn.004520a0
movzx ebx, byte [esp + eax + 0x90]
sub ebx, edx
mov byte [esp + eax + 0x90], bl
inc eax
cmp eax, 0x26
jge 0x4f2bc9
movzx edx, byte [esp + eax + 0xb6]
jb 0x4f2b9e
mov ecx, 0x26
call fcn.004520a0
mov dword [esp], 0
lea eax, [esp + 0x90]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x26
call fcn.00441fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408340
mov eax, dword [esp + 8]
lea ecx, [0x5b08e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0042e870
nop
call fcn.00450c10
jmp fcn.004f23c0