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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x48e813
sub esp, 0x60
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
movzx ebx, byte [esp + 0x70]
test bl, bl
jne 0x48e1a3
jmp 0x48e1fd
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
inc esi
cmp ebx, esi
jae 0x48e1b6
jmp 0x48e1b8
jmp 0x48e1e8
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
jmp 0x48e1e8
lea edi, [esi + ebp - 1]
mov byte [edi], 0x2d
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebx
jmp 0x48e1ff
jmp 0x48e1ff
mov byte [esp + 0x21], 0x30
mov ebx, dword [esp + 0x80]
test ebx, ebx
jne 0x48e211
jmp 0x48e22b
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
test ecx, ecx
ja 0x48e222
jmp 0x48e80b
movzx ebx, byte [ebx]
mov byte [esp + 0x21], bl
jmp 0x48e22d
jmp 0x48e22d
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
inc esi
cmp ebx, esi
jae 0x48e240
jmp 0x48e242
jmp 0x48e272
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
jmp 0x48e272
lea edi, [esi + ebp - 1]
movzx eax, byte [esp + 0x21]
mov byte [edi], al
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebx
mov edi, dword [esp + 0x88]
test edi, edi
jg 0x48e299
jmp 0x48e412
inc esi
cmp ebx, esi
jae 0x48e2a0
jmp 0x48e2a2
jmp 0x48e2d2
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
jmp 0x48e2d2
lea edi, [esi + ebp - 1]
mov byte [edi], 0x2e
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x2c], 1
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x88]
inc ebp
cmp ebx, ebp
jg 0x48e302
jmp 0x48e304
jmp 0x48e308
mov ebp, ebx
jmp 0x48e308
mov dword [esp + 0x28], ebp
cmp ebp, 1
jg 0x48e316
jmp 0x48e40b
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x74]
cmp ebp, edx
jbe 0x48e327
jmp 0x48e804
cmp ebp, 1
jae 0x48e331
jmp 0x48e7f8
lea eax, [edx - 1]
lea ecx, [ebp - 1]
mov edx, eax
neg eax
sar eax, 0x1f
and eax, 1
add eax, ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0x58]
add edx, ebx
mov dword [esp + 0x40], edx
cmp eax, edx
jae 0x48e377
jmp 0x48e37d
mov dword [esp + 0x4c], edx
jmp 0x48e3b9
mov ebx, dword [esp + 0x58]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
jmp 0x48e3b9
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x58]
add eax, dword [esp + 0x48]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00476100
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
jmp 0x48e40d
jmp 0x48e40d
jmp 0x48e783
jmp 0x48e414
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
inc ebx
cmp ecx, ebx
jae 0x48e427
jmp 0x48e429
jmp 0x48e459
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x48e459
lea ebp, [ebx + edx - 1]
movzx esi, byte [esp + 0x8c]
xchg esi, eax
mov byte [ebp], al
xchg esi, eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x84]
dec ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x48e48f
jmp 0x48e499
mov dword [esp + 0x30], 0
jmp 0x48e49b
jmp 0x48e49b
mov ecx, dword [esp + 0x30]
test ecx, ecx
jl 0x48e4a5
jmp 0x48e4b6
mov byte [esp + 0x21], 0x2d
mov ecx, dword [esp + 0x30]
neg ecx
mov dword [esp + 0x30], ecx
jmp 0x48e4bd
mov byte [esp + 0x21], 0x2b
jmp 0x48e4bd
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
inc ebx
cmp ecx, ebx
jae 0x48e4d0
jmp 0x48e4d2
jmp 0x48e502
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x48e502
lea ebp, [ebx + edx - 1]
movzx esi, byte [esp + 0x21]
xchg esi, eax
mov byte [ebp], al
xchg esi, eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ecx
cmp dword [esp + 0x30], 0xa
jl 0x48e525
jmp 0x48e59f
jmp 0x48e527
mov eax, dword [esp + 0x30]
add eax, 0x30
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
add edx, 2
cmp eax, edx
jae 0x48e547
jmp 0x48e549
jmp 0x48e579
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
jmp 0x48e579
lea ebx, [edx + ecx - 2]
lea ebp, [edx + ecx - 1]
movzx esi, byte [esp + 0x27]
mov byte [ebx], 0x30
xchg esi, eax
mov byte [ebp], al
xchg esi, eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
jmp 0x48e75e
cmp dword [esp + 0x30], 0x64
jl 0x48e5ab
jmp 0x48e663
jmp 0x48e5ad
mov ecx, dword [esp + 0x30]
mov eax, 0xcccccccd
imul ecx
add edx, ecx
sar edx, 3
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + 0x30]
mov byte [esp + 0x26], cl
mov ecx, dword [esp + 0x30]
mov eax, 0xcccccccd
imul ecx
add edx, ecx
sar edx, 3
mov ebx, ecx
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + edx*4]
shl ecx, 1
sub ebx, ecx
lea ecx, [ebx + 0x30]
mov byte [esp + 0x25], cl
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
add ebx, 2
cmp ecx, ebx
jae 0x48e603
jmp 0x48e605
jmp 0x48e635
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x48e635
lea eax, [ebx + edx - 2]
lea ebp, [ebx + edx - 1]
movzx esi, byte [esp + 0x26]
movzx edi, byte [esp + 0x25]
xchg esi, ebx
mov byte [eax], bl
xchg esi, ebx
xchg edi, eax
mov byte [ebp], al
xchg edi, eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ecx
jmp 0x48e75e
jmp 0x48e665
mov ecx, dword [esp + 0x30]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + 0x30]
mov byte [esp + 0x24], cl
mov ecx, dword [esp + 0x30]
mov eax, 0xcccccccd
imul ecx
add edx, ecx
sar edx, 3
sar ecx, 0x1f
sub edx, ecx
movzx ecx, dl
imul ecx, ecx, 0x19a
shr ecx, 0xc
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub edx, ecx
lea ecx, [edx + 0x30]
mov byte [esp + 0x23], cl
mov ecx, dword [esp + 0x30]
mov eax, 0xcccccccd
imul ecx
add edx, ecx
sar edx, 3
mov ebx, ecx
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + edx*4]
shl ecx, 1
sub ebx, ecx
lea ecx, [ebx + 0x30]
mov byte [esp + 0x22], cl
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
add ebx, 3
cmp ecx, ebx
jae 0x48e6e8
jmp 0x48e6ea
jmp 0x48e71a
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x48e71a
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ecx
lea eax, [ebx + edx - 3]
lea ebp, [ebx + edx - 2]
lea esi, [ebx + edx - 1]
movzx edi, byte [esp + 0x24]
movzx ecx, byte [esp + 0x23]
movzx ebx, byte [esp + 0x22]
xchg edi, ebx
mov byte [eax], bl
xchg edi, ebx
mov byte [ebp], cl
mov byte [esi], bl
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x6c], eax
jmp 0x48e75e
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
add esp, 0x60
ret
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x88], ecx
jge 0x48e792
jmp 0x48e7f3
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
inc ebx
cmp ecx, ebx
jae 0x48e7a5
jmp 0x48e7a7
jmp 0x48e7d7
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x511660]
mov dword [esp + 0x10], eax
call fcn.00471230
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x48e7d7
lea ebp, [ebx + edx - 1]
mov byte [ebp], 0x30
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ecx
jmp 0x48e7ed
inc dword [esp + 0x2c]
jmp 0x48e783
jmp 0x48e414
mov eax, 1
mov ecx, ebp
call fcn.00475890
mov ecx, ebp
call fcn.00475870
xor eax, eax
call fcn.00475830
nop
call fcn.004743b0
jmp fcn.0048e160