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

Disassembly:
mov ecx, dword [0x63a67440]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6386b58c
sub esp, 0x74
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x6386add4
mov ecx, dword [esp + 0x78]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x638f53fa]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.6378ddd0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x6386ad60
lea ecx, [eax + 1]
mov edx, dword [esp + 0x7c]
cmp edx, ecx
je 0x6386ad31
mov dword [esp + 0x68], eax
mov dword [esp + 0x24], ecx
lea eax, [0x638cc6e0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], edx
call fcn.63750510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x68]
cmp ecx, 0xffffffff
je 0x6386ad26
mov edx, dword [esp + 0x7c]
cmp edx, ecx
jb 0x6386b586
mov ebx, dword [esp + 0x78]
mov ebp, edx
xor esi, esi
xor edi, edi
jmp 0x6386b4de
mov ecx, dword [esp + 0x7c]
xor edx, edx
jmp 0x6386ae04
mov eax, dword [esp + 0x78]
mov dword [esp + 0x80], eax
lea eax, [edx - 1]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x74
ret
lea eax, [0x638e1980]
mov dword [esp], eax
call fcn.6370d9e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov ecx, dword [0x63a67530]
test ecx, ecx
jne 0x6386ad89
mov ecx, dword [esp + 0x78]
jmp 0x6386ad94
call fcn.6376c0c0
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], 2
lea ecx, [0x638f548e]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x6393c580]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x74
ret
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x74
ret
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x24]
xor edi, edi
mov edi, 0x48
mov dword [esp + 0x48], edi
mov edi, pe_nt_image_headers32
mov dword [esp + 0x30], edi
xor edi, edi
jmp 0x6386ae4b
mov ecx, dword [esp + 0x38]
mov dword [eax + ecx*4], esi
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x64]
cmp ebx, esi
jle 0x6386b02e
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x50], eax
mov eax, 1
mov dword [esp + 0x4c], eax
mov eax, 0x24
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x50]
jmp 0x6386b0a3
mov edx, dword [esp + 0x28]
cmp edx, 0x400
jge 0x6386b24f
mov ebp, dword [esp + 0x38]
mov esi, ebx
sub ebx, ebp
test ebp, ebp
jne 0x6386aeb1
mov eax, 0x5d9f7391
mov ecx, edx
imul ebx
sar edx, 8
sar ebx, 0x1f
sub edx, ebx
jmp 0x6386aebe
mov ebp, ebx
shr ebx, 0x1f
add ebx, ebp
sar ebx, 1
mov ecx, edx
mov edx, ebx
lea ebx, [ecx + 1]
test ebx, ebx
je 0x6386b4c8
mov eax, edx
mov ecx, eax
cmp ebx, 0xffffffff
je 0x6386aed7
cdq
idiv ebx
jmp 0x6386aed9
neg eax
lea edx, [ecx + eax]
xor eax, eax
jmp 0x6386b432
lea ebp, [edx + edx*8]
cmp edx, 0xffffffda
je 0x6386b4c3
mov dword [esp + 0x5c], edi
mov dword [esp + 0x40], edx
mov ecx, eax
mov eax, esi
cmp ebx, 0xffffffff
je 0x6386af05
cdq
idiv ebx
jmp 0x6386af07
neg eax
mov edx, dword [esp + 0x30]
add edx, eax
mov dword [esp + 0x30], edx
shl ebp, 2
mov edi, dword [esp + 0x40]
add edi, 0x26
mov eax, ebp
cmp edi, 0xffffffff
je 0x6386af27
cdq
idiv edi
jmp 0x6386af29
neg eax
mov edx, eax
mov eax, esi
mov ebp, edx
cmp ebx, 0xffffffff
je 0x6386af39
cdq
idiv ebx
jmp 0x6386af3b
xor edx, edx
add ebp, ecx
mov esi, dword [esp + 0x30]
cmp esi, 0x10ffff
ja 0x6386b43f
mov dword [esp + 0x48], ebp
mov dword [esp + 0x38], edx
mov edi, dword [esp + 0x2c]
cmp edi, ebx
jb 0x6386af63
mov eax, dword [esp + 0x6c]
jmp 0x6386afa3
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x638cc6e0]
mov dword [esp + 0x10], eax
call fcn.63750670
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
mov edi, ecx
mov dword [eax + ebx*4 - 4], 0
lea ecx, [edx + 1]
cmp ebx, ecx
jb 0x6386b4ba
mov dword [esp + 0x2c], edi
mov dword [esp + 0x64], ecx
sub edi, edx
dec edi
xchg edi, ebx
neg ebx
xchg edi, ebx
shl ecx, 2
sar edi, 0x1f
and edi, ecx
add edi, eax
mov ecx, ebx
sub ebx, edx
cmp ecx, edx
jb 0x6386b4b3
mov dword [esp + 0x68], ecx
dec ebx
sub ecx, edx
mov ebp, dword [esp + 0x2c]
sub ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl edx, 2
sar ebp, 0x1f
and ebp, edx
lea edx, [ebp + eax]
cmp ecx, ebx
jl 0x6386b002
mov ecx, ebx
cmp edx, edi
je 0x6386ae28
mov dword [esp + 0x70], eax
mov dword [esp], edi
mov dword [esp + 4], edx
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.6376ca20
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x30]
jmp 0x6386ae28
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.637546a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x74
ret
lea ecx, [esi + 0x24]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x28]
mov esi, edi
mov dword [esp + 0x4c], eax
mov edi, dword [esp + 0x60]
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x2c]
cmp ebx, esi
je 0x6386b3ab
jbe 0x6386b4cd
movzx eax, byte [ebp + esi]
lea ecx, [eax - 0x30]
cmp cl, 9
ja 0x6386b0cb
add eax, 0xffffffea
movzx eax, al
mov ecx, 1
jmp 0x6386b0f3
lea ecx, [eax - 0x41]
cmp cl, 0x19
ja 0x6386b0dd
movzx eax, cl
mov ecx, 1
jmp 0x6386b0f3
add eax, 0xffffff9f
cmp al, 0x19
ja 0x6386b0ef
movzx eax, al
mov ecx, 1
jmp 0x6386b0f3
xor ecx, ecx
xor eax, eax
test cl, cl
je 0x6386b337
mov dword [esp + 0x3c], eax
mov dword [esp + 0x24], esi
mov ecx, eax
sar ecx, 0x1f
mov edx, dword [esp + 0x4c]
mul edx
mov ebp, dword [esp + 0x4c]
imul ecx, ebp
add edx, ecx
mov ecx, ebp
sar ebp, 0x1f
mov dword [esp + 0x64], ebp
mov ebx, dword [esp + 0x3c]
imul ebx, ebp
add edx, ebx
mov ebx, edi
sar edi, 0x1f
mov ebp, 0x7fffffff
sub ebp, ebx
mov esi, 0
sbb esi, edi
cmp esi, edx
sete dl
xchg esi, ebx
setl bl
xchg esi, ebx
cmp eax, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, ebp
or edx, esi
test dl, dl
jne 0x6386b2c3
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x48]
mov esi, edx
sub edx, ebp
add ebx, eax
cmp esi, ebp
jg 0x6386b176
mov edx, 1
jmp 0x6386b182
lea edi, [ebp + 0x1a]
cmp esi, edi
jl 0x6386b182
mov edx, 0x1a
mov edi, dword [esp + 0x24]
inc edi
mov ebp, dword [esp + 0x3c]
cmp edx, ebp
jg 0x6386ae82
mov dword [esp + 0x60], ebx
add edx, 0xffffffdc
neg edx
mov dword [esp + 0x44], edx
mov eax, edx
mul ecx
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x64]
imul ebx, ebp
sar ebp, 0x1f
imul ecx, ebp
add edx, ecx
add edx, ebx
test edx, edx
sete dl
setg bl
cmp eax, 0x7fffffff
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebp, edx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6386b076
lea eax, [0x638e1980]
mov dword [esp], eax
call fcn.6370d9e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov ecx, dword [0x63a67530]
test ecx, ecx
jne 0x6386b204
mov ecx, dword [esp + 0x78]
jmp 0x6386b20f
call fcn.6376c0c0
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], 2
lea ecx, [0x638f548e]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x6393c580]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x74
ret
lea eax, [0x638e1980]
mov dword [esp], eax
call fcn.6370d9e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov ecx, dword [0x63a67530]
test ecx, ecx
jne 0x6386b278
mov ecx, dword [esp + 0x78]
jmp 0x6386b283
call fcn.6376c0c0
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], 2
lea ecx, [0x638f548e]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x6393c580]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x74
ret
lea eax, [0x638e1980]
mov dword [esp], eax
call fcn.6370d9e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov ecx, dword [0x63a67530]
test ecx, ecx
jne 0x6386b2ec
mov ecx, dword [esp + 0x78]
jmp 0x6386b2f7
call fcn.6376c0c0
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], 2
lea ecx, [0x638f548e]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x6393c580]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x74
ret
lea eax, [0x638e1980]
mov dword [esp], eax
call fcn.6370d9e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov ecx, dword [0x63a67530]
test ecx, ecx
jne 0x6386b360
mov ecx, dword [esp + 0x78]
jmp 0x6386b36b
call fcn.6376c0c0
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], 2
lea ecx, [0x638f548e]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x6393c580]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x74
ret
lea eax, [0x638e1980]
mov dword [esp], eax
call fcn.6370d9e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov ecx, dword [0x63a67530]
test ecx, ecx
jne 0x6386b3d4
mov ecx, dword [esp + 0x78]
jmp 0x6386b3df
call fcn.6376c0c0
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], 2
lea ecx, [0x638f548e]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x6393c580]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x74
ret
mov ecx, eax
mov eax, 0xea0ea0eb
mov ebp, edx
imul edx
add edx, ebp
sar edx, 5
lea eax, [ecx + 0x24]
cmp edx, 0x1c7
jg 0x6386b41f
jmp 0x6386aee3
lea eax, [0x638e1980]
mov dword [esp], eax
call fcn.6370d9e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov ecx, dword [0x63a67530]
test ecx, ecx
jne 0x6386b468
mov ecx, dword [esp + 0x78]
jmp 0x6386b473
call fcn.6376c0c0
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], 2
lea ecx, [0x638f548e]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x6393c580]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x74
ret
mov eax, edx
call fcn.6376c1a0
mov eax, ecx
mov ecx, ebx
call fcn.6376c1a0
call fcn.63738ba0
call fcn.63738ba0
mov eax, esi
mov ecx, ebx
call fcn.6376c140
mov dword [eax + edi*4 - 4], ebp
mov ebp, dword [esp + 0x7c]
cmp esi, ecx
jge 0x6386b57d
movzx ebp, byte [ebx + esi]
cmp ebp, 0x80
jge 0x6386b4f5
inc esi
jmp 0x6386b52d
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x6c], eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.637639a0
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x28]
inc edi
cmp edx, edi
jae 0x6386b4d6
mov dword [esp + 0x20], ebp
mov dword [esp + 0x58], esi
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x638cc6e0]
mov dword [esp + 0x10], eax
call fcn.63750670
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x58]
jmp 0x6386b4d6
mov ecx, edx
mov edx, edi
jmp 0x6386ae04
call fcn.6376c160
nop
call fcn.6376aca0
jmp fcn.6386ac80