Function at 0x49ad70
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 0x49b5b7
sub esp, 0xec
lea edi, [esp + 0x110]
xor eax, eax
call fcn.0044c13b
mov ecx, dword [esp + 0x10c]
test ecx, ecx
je 0x49b59d
mov edx, dword [esp + 0xf4]
lea ebx, [edx - 1]
test ebx, ebx
jge 0x49b588
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 0x49b57f
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 0x49b571
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 0x49b568
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 0x49b55c
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 0x49b551
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 + 0x48], eax
test ecx, ecx
jge 0x49b543
mov dword [esp + 0x68], ecx
neg ecx
dec ecx
mov eax, 0x88888889
imul ecx
mov eax, edi
mov edi, dword [esp + 0x68]
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 0x49b538
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 + 0x50], eax
test ecx, ecx
jge 0x49b52a
mov dword [esp + 0x60], ecx
neg ecx
dec ecx
mov eax, 0xaaaaaaab
imul ecx
mov eax, edi
mov edi, dword [esp + 0x60]
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 + 0x4c], esi
mov dword [esp + 0xac], eax
cmp ecx, 0x18
jl 0x49b521
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.00447290
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.00447290
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 + 0x4c]
cmp ecx, 0xd
jae 0x49b596
lea edx, [0x6c2d60]
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 0x49b518
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 0x49b4fd
mov eax, 1
test al, al
je 0x49b237
inc ecx
cmp ecx, 3
jl 0x49b237
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 + 0x50]
imul edi, edi, 0x3c
add esi, edi
mov edi, dword [esp + 0x48]
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.0049b680
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 0x49b4f0
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 0x49b4c2
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 0x49b4a2
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.0044c13b
lea edi, [esp + 0xd8]
call fcn.0044c13b
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 [0x6ea37c]
mov dword [esp + 0xe8], ecx
lea edi, [esp + 0xb0]
lea esi, [esp + 0xd8]
call fcn.0044c61e
lea edi, [esp + 0xc4]
lea esi, [esp + 0xb0]
call fcn.0044c61e
mov ecx, dword [esp + 0x10c]
lea edx, [0x6ece40]
cmp ecx, edx
jne 0x49b49b
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 0x49b47a
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.0044c61e
add esp, 0xec
ret
mov eax, ecx
jmp 0x49b40b
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.0049b680
mov edi, dword [esp + 0x14]
jmp 0x49b34d
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.0049b680
mov edi, dword [esp + 0x14]
jmp 0x49b34d
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
jmp 0x49b362
sar eax, 7
sub eax, esi
imul eax, eax, 0x190
mov edx, dword [esp + 0x2c]
sub edx, eax
test edx, edx
sete al
jmp 0x49b227
mov ebp, eax
xor eax, eax
jmp 0x49b227
mov eax, ecx
mov ecx, ebp
jmp 0x49afb9
mov eax, edi
mov ebp, dword [esp + 0xf8]
jmp 0x49af87
mov edi, eax
mov eax, ecx
mov ecx, ebp
jmp 0x49af49
mov eax, edi
mov ebp, dword [esp + 0xfc]
jmp 0x49af21
mov edi, eax
mov eax, ecx
mov ecx, ebp
jmp 0x49aee3
mov ebp, dword [esp + 0x100]
jmp 0x49aebb
mov ebp, eax
mov eax, edx
jmp 0x49ae7f
mov eax, ecx
mov ecx, dword [esp + 0x104]
jmp 0x49ae54
mov ebx, ebp
mov esi, edx
jmp 0x49ae14
mov edx, ebx
mov ebp, dword [esp + 0xf0]
jmp 0x49adeb
call fcn.00425c90
ud2
lea eax, [0x5a5c80]
mov dword [esp], eax
lea eax, [0x608b80]
mov dword [esp + 4], eax
call fcn.00426ac0
ud2
call fcn.0044a520
jmp fcn.0049ad70