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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x48]
cmp eax, dword [ecx + 8]
jbe 0x4a461c
sub esp, 0xc8
mov ebx, dword [esp + 0xcc]
test byte [ebx], al
cmp dword [ebx + 0x2000c], 0x7ffe0001
jl 0x4a3d5d
mov ebp, dword [ebx + 0x20004]
test ebp, ebp
jne 0x4a3d56
xor eax, eax
jmp 0x4a45f7
xor eax, eax
jmp 0x4a45a2
mov edx, dword [esp + 0xe0]
cmp edx, 0x11
jge 0x4a3da0
add dword [ebx + 0x2000c], 0xffff
mov dword [ebx + 0x20004], 0
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd4]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0xd8]
xor esi, esi
jmp 0x4a451b
lea ebp, [edx - 0xf]
mov dword [esp + 0x88], ebp
nop
nop
mov esi, dword [esp + 0xdc]
mov edi, dword [esi]
mov eax, esi
imul esi, edi, 0x1e35a7bd
shr esi, 0x12
xor ecx, ecx
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x40], ecx
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x44], eax
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0xb4], edx
xor ecx, ecx
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x9c]
jmp 0x4a3e6f
mov edi, dword [esp + 0x80]
shl edi, 0x10
mov ebx, dword [esp + 0x64]
shr ebx, 0x10
or edi, ebx
nop
mov ebx, dword [esp + 0x24]
lea eax, [ebx + eax + 5]
imul esi, edi, 0x1e35a7bd
shr esi, 0x12
mov ebx, ebp
mov ebp, dword [esp + 0x88]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0xb4], ebx
mov edx, dword [esp + 0xe0]
mov ecx, eax
mov ebx, dword [esp + 0xcc]
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x94], eax
mov eax, 0x20
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x94]
jmp 0x4a3f26
mov edx, dword [esp + 0xe4]
cmp edx, ebx
jb 0x4a44ff
mov ebp, dword [esp + 0x30]
cmp ebp, ebx
ja 0x4a44f6
mov dword [esp + 0x7c], ebx
mov ecx, ebx
sub ebx, ebp
mov dword [esp + 0x38], ebx
mov edi, edx
sub edx, ebp
neg edx
sar edx, 0x1f
and edx, ebp
add edx, eax
mov dword [esp + 0xb0], edx
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x8c], eax
xor eax, eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x8c]
jmp 0x4a417c
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0xb4]
jmp 0x4a4215
imul ecx, edx, 0x1e35a7bd
shr ecx, 0x12
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0x20]
mov ebx, esi
mov esi, ecx
mov edi, edx
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x48], edi
mov dword [esp + 0x2c], esi
mov edi, dword [esp + 0x20]
sar edi, 5
lea ebx, [ecx + edi]
mov esi, dword [esp + 0x20]
add esi, edi
cmp ebp, ebx
jl 0x4a3ffe
mov dword [esp + 0x4c], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], esi
mov ebp, dword [esp + 0x2c]
and ebp, 0x3fff
mov esi, dword [esp + 0xcc]
lea ebx, [esi + ebp*8]
mov edi, dword [ebx + 4]
mov dword [esp + 0x84], edi
mov ebx, dword [ebx]
mov dword [esp + 0x80], ebx
lea ebx, [esi + ebp*8]
lea ebp, [esi + ebp*8 + 4]
nop
mov edi, dword [esp + 0x4c]
lea edi, [ecx + edi + 4]
cmp edx, edi
jb 0x4a450f
mov dword [esp + 0xc4], ebp
mov ebp, dword [esp + 0x28]
cmp edi, ebp
jb 0x4a4506
mov edi, dword [esi + 0x2000c]
sub edx, ebp
neg edx
sar edx, 0x1f
and edx, ebp
mov ebp, dword [eax + edx]
mov edx, ebp
mov ebp, dword [esp + 0x48]
mov dword [ebx], ebp
lea ebx, [edi + ecx]
mov edi, dword [esp + 0xc4]
mov dword [edi], ebx
nop
mov ebx, dword [esi + 0x2000c]
mov edi, dword [esp + 0x84]
sub edi, ebx
mov ebx, ecx
sub ecx, edi
cmp ecx, 0x8000
jg 0x4a3efa
mov edi, dword [esp + 0x80]
cmp ebp, edi
jne 0x4a3efa
jmp 0x4a3e8b
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0xb4]
cmp edx, ecx
jle 0x4a4046
jb 0x4a4144
sub edx, ecx
mov dword [esp + 0x34], edx
mov edi, dword [esp + 0xe4]
sub edi, ecx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ecx, edi
lea edi, [ecx + eax]
mov dword [esp + 0xac], edi
xor ecx, ecx
jmp 0x4a40d4
mov edi, dword [esp + 0xcc]
add dword [edi + 0x2000c], edx
mov ecx, ebp
mov ebp, dword [edi + 0x20008]
cmp edx, ebp
ja 0x4a40bf
mov dword [edi + 0x20004], edx
mov ebp, dword [edi + 0x20000]
cmp eax, ebp
je 0x4a40a3
mov dword [esp + 0x88], ecx
mov dword [esp + 0x78], ebx
mov dword [esp + 0xc0], esi
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045efc0
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0xc0]
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ecx
add esp, 0xc8
ret
mov ecx, edx
mov edx, ebp
call fcn.0045e790
mov dword [esi + ebx*4 - 4], eax
inc ecx
mov eax, dword [esp + 0xdc]
cmp ecx, edx
jge 0x4a4138
movzx eax, byte [ecx + edi]
inc ebx
cmp ebp, ebx
jae 0x4a40c8
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], ecx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4e3c80]
mov dword [esp + 0x10], eax
call fcn.00447310
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0xac]
jmp 0x4a40c8
mov edx, dword [esp + 0xe0]
jmp 0x4a4046
mov eax, ecx
mov ecx, edx
call fcn.0045e7b0
mov ecx, dword [esp + 0xb4]
mov dword [ecx + ebp*4 - 4], eax
lea eax, [edi + 1]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x78], eax
mov dword [esp + 0x44], esi
mov eax, dword [esp + 0xdc]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x78]
cmp edi, ebx
jge 0x4a3ee3
movzx eax, byte [edi + edx]
inc ebp
mov esi, dword [esp + 0x44]
cmp esi, ebp
jae 0x4a414d
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x4e3c80]
mov dword [esp + 0x10], eax
call fcn.00447310
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x78]
mov dword [esp + 0xb4], eax
mov esi, ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
jmp 0x4a414d
mov eax, dword [esp + 0xdc]
mov esi, ebp
mov ebx, edx
mov edi, dword [esp + 0xb8]
mov ebp, ecx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x24], ecx
mov dword [esp + 0xbc], edi
sub edx, dword [esi + 0x2000c]
mov dword [esp + 0x84], edx
mov dword [esp], esi
lea esi, [ecx + 4]
mov dword [esp + 4], esi
lea esi, [edx + 4]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x14], eax
call fcn.004a4630
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x74]
inc ecx
lea edx, [eax + 1]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x84]
mov esi, ebx
sub ebx, ebp
shl edx, 0x16
lea edx, [ebx + edx + 0x3fffffff]
mov ebx, dword [esp + 0x78]
cmp ebx, ecx
jb 0x4a429b
mov edi, dword [esp + 0xbc]
jmp 0x4a42ea
mov dword [esp + 0x3c], eax
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x4e3c80]
mov dword [esp + 0x10], eax
call fcn.00447310
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xb8], edi
mov dword [edi + ecx*4 - 4], edx
lea ebp, [eax + esi]
mov edx, ebx
lea ebx, [esi + eax + 4]
mov edi, dword [esp + 0x88]
cmp ebx, edi
jge 0x4a44c2
mov dword [esp + 0x70], ebx
lea edi, [esi + eax + 3]
lea esi, [esi + eax + 0xb]
mov ebx, dword [esp + 0xe0]
cmp ebx, esi
jb 0x4a44ed
cmp esi, edi
jb 0x4a44e4
mov dword [esp + 0x84], ebp
nop
sub ebx, ebp
add ebx, 0xfffffffd
neg ebx
sar ebx, 0x1f
and ebx, edi
mov edi, dword [esp + 0xdc]
movzx esi, byte [ebx + edi]
movzx ebp, byte [edi + ebx + 1]
mov dword [esp + 0x80], ebp
shl ebp, 8
or ebp, esi
movzx esi, byte [edi + ebx + 2]
mov dword [esp + 0x6c], esi
shl esi, 0x10
or ebp, esi
movzx esi, byte [edi + ebx + 3]
mov dword [esp + 0x68], esi
shl esi, 0x18
or ebp, esi
mov dword [esp + 0x64], ebp
imul esi, ebp, 0x1e35a7bd
shr esi, 0x12
and esi, 0x3fff
mov dword [esp + 0x60], esi
mov ebp, dword [esp + 0xcc]
lea esi, [ebp + esi*8]
mov ebp, dword [ebp + 0x2000c]
mov dword [esp + 0x7c], ebp
movzx ebp, byte [edi + ebx + 4]
mov dword [esp + 0x5c], ebp
movzx ebp, byte [edi + ebx + 5]
mov dword [esp + 0x58], ebp
movzx ebp, byte [edi + ebx + 6]
mov dword [esp + 0x54], ebp
movzx ebx, byte [edi + ebx + 7]
mov dword [esp + 0x50], ebx
mov edi, dword [esp + 0x64]
mov dword [esi], edi
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0xcc]
lea esi, [ebx + esi*8 + 4]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x7c]
lea ebp, [ebp + ebx + 3]
mov dword [esi], ebp
shr edi, 8
mov esi, dword [esp + 0x80]
shr esi, 0x18
mov ebp, dword [esp + 0x6c]
shr ebp, 0x10
or esi, ebp
mov ebp, dword [esp + 0x68]
shr ebp, 8
or esi, ebp
mov ebp, dword [esp + 0x5c]
or ebp, esi
mov esi, dword [esp + 0x58]
shl esi, 8
or ebp, esi
mov esi, dword [esp + 0x54]
shl esi, 0x10
or ebp, esi
mov esi, dword [esp + 0x50]
shl esi, 0x18
or esi, ebp
mov dword [esp + 0x80], esi
shl esi, 0x18
or esi, edi
mov dword [esp + 0x6c], esi
nop
imul edi, esi, 0x1e35a7bd
shr edi, 0x12
and edi, 0x3fff
mov ebp, dword [esp + 0xcc]
lea ebx, [ebp + edi*8 + 4]
mov dword [esp + 0xc4], ebx
mov ebx, dword [ebx]
mov dword [esp + 0x7c], ebx
lea edi, [ebp + edi*8]
mov ebx, dword [edi]
mov dword [esp + 0x68], ebx
mov ebx, dword [ebp + 0x2000c]
mov dword [edi], esi
mov edi, dword [esp + 0x84]
lea ebx, [ebx + edi + 4]
mov esi, dword [esp + 0xc4]
mov dword [esi], ebx
mov ebx, dword [ebp + 0x2000c]
mov esi, dword [esp + 0x7c]
sub esi, ebx
sub edi, esi
lea ebx, [edi + 4]
cmp ebx, 0x8000
jg 0x4a3e0c
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x6c]
cmp ebx, esi
je 0x4a41f9
jmp 0x4a3e0c
mov eax, dword [esp + 0xdc]
mov ebp, edx
mov esi, dword [esp + 0xb8]
mov edx, dword [esp + 0xe0]
mov edi, ecx
mov ecx, ebx
mov ebx, edi
jmp 0x4a4011
mov eax, edi
mov ecx, esi
call fcn.0045e810
mov ecx, esi
mov edx, ebx
call fcn.0045e800
mov eax, ebp
mov ecx, ebx
call fcn.0045e7b0
mov ecx, ebx
call fcn.0045e790
mov eax, ebp
mov ecx, edi
call fcn.0045e810
mov ecx, edi
call fcn.0045e800
mov dword [ebx + ecx*4 - 4], edi
inc esi
cmp edx, esi
jle 0x4a4582
movzx edi, byte [esi + eax]
inc ecx
cmp ebp, ecx
jae 0x4a4516
mov dword [esp + 0x88], esi
mov dword [esp + 0x80], edi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4e3c80]
mov dword [esp + 0x10], eax
call fcn.00447310
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x80]
jmp 0x4a4516
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], ebp
add esp, 0xc8
ret
mov dword [ebp + 4], esi
inc eax
cmp eax, 0x4000
jge 0x4a45c8
jae 0x4a45d7
lea ebp, [ebx + eax*8]
lea esi, [ebx + eax*8 + 4]
mov esi, dword [esi]
sub esi, dword [ebx + 0x2000c]
add esi, 0x8001
test esi, esi
jge 0x4a459e
xor esi, esi
jmp 0x4a459e
mov dword [ebx + 0x2000c], 0x8001
jmp 0x4a3d5d
mov ecx, 0x4000
call fcn.0045e750
lea ebp, [ebx + eax*8]
mov dword [ebp], 0
lea ebp, [ebx + eax*8 + 4]
mov dword [ebp], 0
inc eax
cmp eax, 0x4000
jge 0x4a4602
jb 0x4a45e1
jmp 0x4a4611
mov dword [ebx + 0x2000c], 0x8001
jmp 0x4a3d5d
mov ecx, 0x4000
call fcn.0045e750
nop
call fcn.0045d2c0
jmp fcn.004a3d10