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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x6c]
cmp eax, dword [ecx + 8]
jbe 0x472387
sub esp, 0xec
lea edi, [esp + 0x110]
xor eax, eax
call fcn.0044bdeb
mov ecx, dword [esp + 0x10c]
test ecx, ecx
je 0x47236d
mov edx, dword [esp + 0xf4]
lea ebx, [edx - 1]
test ebx, ebx
jge 0x472358
mov ebp, ebx
neg ebx
dec ebx
mov eax, 0xaaaaaaab
mov esi, edx
imul ebx
sub edx, ebp
sar ebx, 0x1f
dec edx
sar edx, 3
sub edx, ebx
lea ebx, [edx + 1]
mov ebp, dword [esp + 0xf0]
sub ebp, ebx
lea edx, [edx + edx*2]
lea edx, [esi + edx*4 + 0xb]
cmp edx, 0xc
jl 0x47234f
mov eax, 0xaaaaaaab
mov ebx, edx
imul edx
add edx, ebx
mov esi, ebx
sar ebx, 0x1f
sar edx, 3
sub edx, ebx
lea ebx, [edx + ebp]
lea edx, [edx + edx*2]
shl edx, 2
sub esi, edx
mov edx, dword [esp + 0x108]
test edx, edx
jge 0x472341
mov ebp, edx
neg edx
dec edx
mov eax, 0x44b82fa1
mov edi, edx
imul edx
sar edi, 0x1f
sar edx, 0x1c
sub edx, edi
lea edi, [edx + 1]
mov eax, ecx
mov ecx, dword [esp + 0x104]
sub ecx, edi
imul edx, edx, 0x3b9aca00
lea edx, [ebp + edx + 0x3b9aca00]
cmp edx, 0x3b9aca00
jl 0x472338
mov ebp, eax
mov eax, 0x44b82fa1
mov edi, edx
imul edx
mov eax, edi
sar edi, 0x1f
sar edx, 0x1c
sub edx, edi
add ecx, edx
imul edx, edx, 0x3b9aca00
sub eax, edx
test ecx, ecx
jge 0x47232c
mov dword [esp + 0x64], ecx
neg ecx
dec ecx
mov edi, eax
mov eax, 0x88888889
imul ecx
mov eax, edi
mov edi, dword [esp + 0x64]
sub edx, edi
dec edx
sar edx, 5
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + 1]
mov ebp, dword [esp + 0x100]
sub ebp, ecx
imul edx, edx, 0x3c
lea ecx, [edi + edx + 0x3c]
cmp ecx, 0x3c
jl 0x472321
mov edx, eax
mov eax, 0x88888889
mov edi, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, ecx
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + ebp]
imul edx, edx, 0x3c
sub eax, edx
mov dword [esp + 0x4c], eax
test ecx, ecx
jge 0x472313
mov dword [esp + 0x60], ecx
neg ecx
dec ecx
mov eax, 0x88888889
imul ecx
mov eax, edi
mov edi, dword [esp + 0x60]
sub edx, edi
dec edx
sar edx, 5
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + 1]
mov ebp, dword [esp + 0xfc]
sub ebp, ecx
imul edx, edx, 0x3c
lea ecx, [edi + edx + 0x3c]
cmp ecx, 0x3c
jl 0x472308
mov edx, eax
mov eax, 0x88888889
mov edi, edx
imul ecx
add edx, ecx
mov eax, ecx
sar ecx, 0x1f
sar edx, 5
sub edx, ecx
lea ecx, [edx + ebp]
imul edx, edx, 0x3c
sub eax, edx
mov dword [esp + 0x48], eax
test ecx, ecx
jge 0x4722fa
mov dword [esp + 0x68], ecx
neg ecx
dec ecx
mov eax, 0xaaaaaaab
imul ecx
mov eax, edi
mov edi, dword [esp + 0x68]
sub edx, edi
sar ecx, 0x1f
dec edx
sar edx, 4
sub edx, ecx
lea ecx, [edx + 1]
mov ebp, dword [esp + 0xf8]
sub ebp, ecx
lea ecx, [edx + edx*2]
lea ecx, [edi + ecx*8 + 0x18]
mov dword [esp + 0x50], esi
mov dword [esp + 0xac], eax
cmp ecx, 0x18
jl 0x4722f1
mov eax, 0xaaaaaaab
imul ecx
add edx, ecx
mov eax, ecx
sar ecx, 0x1f
sar edx, 4
sub edx, ecx
lea ecx, [edx + ebp]
lea edx, [edx + edx*2]
shl edx, 3
sub eax, edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], eax
mov edx, ebx
add ebx, 0xd116ebf
mov dword [esp + 0x30], ebx
mov dword [esp], ebx
mov ebp, edx
sar edx, 0x1f
add ebp, 0xd116ebf
adc edx, 0x44
mov dword [esp + 0xa8], edx
mov dword [esp + 4], edx
mov dword [esp + 8], 0x190
mov dword [esp + 0xc], 0
call fcn.00446f40
mov eax, dword [esp + 0x10]
mov ecx, 0x190
mov ebx, eax
mul ecx
mov ecx, dword [esp + 0x30]
mov ebp, ecx
sub ecx, eax
mov dword [esp + 0x30], ecx
mov esi, eax
mov eax, 0x23ab1
mov edi, edx
mul ebx
mov dword [esp + 0xa4], edx
mov dword [esp + 0x6c], eax
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x5c], ebx
mov dword [esp], ecx
imul ebx, ebx, 0x190
add ebx, edi
sub ebp, esi
mov ebp, dword [esp + 0xa8]
sbb ebp, ebx
mov dword [esp + 0xa8], ebp
mov dword [esp + 4], ebp
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
call fcn.00446f40
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x64
mul ecx
mov ebx, dword [esp + 0x30]
mov ebp, ebx
sub ebx, eax
mov esi, eax
mov eax, 0x8eac
mov edi, edx
mul ecx
mov dword [esp + 0xa0], edx
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x6c]
add eax, ecx
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x94], ecx
imul ecx, ecx, 0x64
add ecx, edi
sub ebp, esi
mov ebp, dword [esp + 0xa8]
sbb ebp, ecx
mov ecx, ebx
shr ebx, 2
mov esi, ebp
shl ebp, 0x1e
or ebp, ebx
mov ebx, ebp
shl ebp, 2
mov dword [esp + 0x90], ebp
mov edi, ecx
sub ecx, ebp
mov eax, ebx
mov ebp, 0x5b5
mul ebp
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], eax
mov ebp, dword [esp + 0x98]
add eax, ebp
mov dword [esp + 0x84], eax
mov eax, ecx
mov ebp, 0x16d
mul ebp
mov dword [esp + 0x80], edx
mov dword [esp + 0x7c], eax
mov ebp, dword [esp + 0x84]
add eax, ebp
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x5c]
imul eax, eax, 0x23ab1
mov ebp, dword [esp + 0xa4]
add eax, ebp
mov ebp, dword [esp + 0x94]
imul ebp, ebp, 0x8eac
mov edx, dword [esp + 0xa0]
add edx, ebp
mov ebp, dword [esp + 0x9c]
mov ecx, dword [esp + 0x6c]
add ebp, ecx
adc eax, edx
mov ecx, esi
shr esi, 2
mov edx, esi
shl esi, 2
shr ebx, 0x1e
or ebx, esi
mov ebp, dword [esp + 0x90]
sub edi, ebp
sbb ecx, ebx
imul edx, edx, 0x5b5
mov ebx, dword [esp + 0x8c]
add edx, ebx
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x98]
add ebx, ebp
adc edx, eax
imul ecx, ecx, 0x16d
mov eax, dword [esp + 0x80]
add eax, ecx
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x84]
add ecx, ebx
adc eax, edx
mov ecx, dword [esp + 0x50]
cmp ecx, 0xd
jae 0x472366
lea edx, [0x6e8f80]
mov edx, dword [edx + ecx*4]
mov ebx, dword [esp + 0x78]
mov ebp, ebx
add ebx, edx
mov esi, edx
sar edx, 0x1f
add ebp, esi
adc eax, edx
mov edx, dword [esp + 0x2c]
mov ebp, edx
sar edx, 0x1f
mov esi, edx
shr edx, 0x1e
add edx, ebp
sar edx, 2
shl edx, 2
mov edi, ebp
sub ebp, edx
test ebp, ebp
jne 0x4722e8
mov edx, eax
mov eax, 0x51eb851f
mov ebp, edx
imul edi
mov eax, edx
sar edx, 5
sub edx, esi
imul edx, edx, 0x64
sub edi, edx
test edi, edi
je 0x4722cd
mov eax, 1
test al, al
je 0x472007
inc ecx
cmp ecx, 3
jl 0x472007
add ebx, 1
adc ebp, 0
mov ecx, dword [esp + 0x58]
dec ecx
mov dword [esp + 0x74], ecx
mov edx, ebx
add ebx, ecx
mov eax, ebx
mov esi, 0x15180
mov ebx, edx
mul esi
mov dword [esp + 0x70], eax
mov esi, dword [esp + 0x54]
imul esi, esi, 0xe10
mov edi, dword [esp + 0x48]
imul edi, edi, 0x3c
add esi, edi
mov edi, dword [esp + 0x4c]
add esi, edi
add eax, esi
mov dword [esp + 0xa4], eax
add eax, 0xe5263700
mov dword [esp + 0x34], eax
mov edi, dword [esp + 0x10c]
mov dword [esp], edi
mov dword [esp + 4], eax
sar ecx, 0x1f
mov edi, dword [esp + 0x74]
add ebx, edi
adc ecx, ebp
imul ecx, ecx, 0x15180
add ecx, edx
mov edx, esi
sar esi, 0x1f
mov ebx, dword [esp + 0x70]
add ebx, edx
adc ecx, esi
mov edx, dword [esp + 0xa4]
add edx, 0xe5263700
adc ecx, 0x80000001
mov dword [esp + 0x38], ecx
mov dword [esp + 8], ecx
call fcn.00472450
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
test ecx, ecx
je 0x4722c0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ebx
mov eax, ebp
mov ebp, dword [esp + 0x34]
mov edi, ebp
sub ebp, ecx
sar ecx, 0x1f
mov ebx, dword [esp + 0x44]
sub edi, ebx
mov edi, ebx
mov ebx, dword [esp + 0x38]
sbb ebx, ecx
cmp ebx, edx
sete cl
mov edx, dword [esp + 0x3c]
cmp ebp, edx
setb dl
and ecx, edx
mov edx, dword [esp + 0x40]
cmp ebx, edx
setl dl
or ecx, edx
test cl, cl
jne 0x472292
cmp ebx, eax
sete cl
cmp ebp, esi
setae dl
and edx, ecx
cmp ebx, eax
setg cl
or edx, ecx
test dl, dl
jne 0x472272
mov ecx, dword [esp + 0x34]
mov edx, ecx
sub ecx, edi
mov ebx, edi
sar edi, 0x1f
sub edx, ebx
mov edx, dword [esp + 0x38]
sbb edx, edi
mov ebx, ecx
add ecx, 0x7791f700
mov dword [esp + 0xa4], ecx
lea edi, [esp + 0xb0]
xor eax, eax
call fcn.0044bdeb
lea edi, [esp + 0xd8]
call fcn.0044bdeb
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xd8], ecx
sar ecx, 0x1f
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xe0], ecx
add ebx, 0x7791f700
adc edx, 0xe
mov dword [esp + 0xe4], edx
mov ecx, dword [0x71103c]
mov dword [esp + 0xe8], ecx
lea edi, [esp + 0xb0]
lea esi, [esp + 0xd8]
call fcn.0044c2ce
lea edi, [esp + 0xc4]
lea esi, [esp + 0xb0]
call fcn.0044c2ce
mov ecx, dword [esp + 0x10c]
lea edx, [0x713b60]
cmp ecx, edx
jne 0x47226b
xor eax, eax
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
mov ebx, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x47224a
shl ebx, 1
mov ecx, edx
shr edx, 0x1f
or edx, ebx
shl ecx, 1
shr ecx, 0x1f
mov ebx, edx
shl edx, 1
or edx, ecx
mov ecx, edx
add edx, 0xd7b17f80
mov dword [esp + 0xcc], edx
shr ebx, 0x1f
add ecx, 0xd7b17f80
adc ebx, 0xd
mov dword [esp + 0xd0], ebx
mov ecx, dword [esp + 0xc4]
and ecx, 0x3fffffff
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd4], eax
lea edi, [esp + 0x110]
lea esi, [esp + 0xc4]
call fcn.0044c2ce
add esp, 0xec
ret
mov eax, ecx
jmp 0x4721db
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00472450
mov edi, dword [esp + 0x14]
jmp 0x47211d
mov eax, dword [esp + 0x3c]
add eax, 0xffffffff
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
adc eax, 0xffffffff
mov dword [esp + 8], eax
call fcn.00472450
mov edi, dword [esp + 0x14]
jmp 0x47211d
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
jmp 0x472132
sar eax, 7
sub eax, esi
imul eax, eax, 0x190
mov edx, dword [esp + 0x2c]
sub edx, eax
test edx, edx
sete al
jmp 0x471ff7
mov ebp, eax
xor eax, eax
jmp 0x471ff7
mov eax, ecx
mov ecx, ebp
jmp 0x471d89
mov eax, edi
mov ebp, dword [esp + 0xf8]
jmp 0x471d57
mov edi, eax
mov eax, ecx
mov ecx, ebp
jmp 0x471d19
mov eax, edi
mov ebp, dword [esp + 0xfc]
jmp 0x471cf1
mov edi, eax
mov eax, ecx
mov ecx, ebp
jmp 0x471cb3
mov ebp, dword [esp + 0x100]
jmp 0x471c8b
mov ebp, eax
mov eax, edx
jmp 0x471c4f
mov eax, ecx
mov ecx, dword [esp + 0x104]
jmp 0x471c24
mov ebx, ebp
mov esi, edx
jmp 0x471be4
mov edx, ebx
mov ebp, dword [esp + 0xf0]
jmp 0x471bbb
call fcn.00425900
ud2
lea eax, [0x5be160]
mov dword [esp], eax
lea eax, [0x6256a0]
mov dword [esp + 4], eax
call fcn.00426730
ud2
call fcn.0044a1d0
jmp fcn.00471b40