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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x7145bc25
sub esp, 0x50
mov eax, 0
mov dword [esp + 0x4c], eax
mov byte [esp + 0x27], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
lea eax, [0x7145bc30]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x4c], eax
mov byte [esp + 0x27], 1
lea eax, [0x714878e0]
mov dword [esp], eax
mov dword [esp + 4], 0xd
mov dword [esp + 8], 0xd
call fcn.71408c60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
nop
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xd
mov dword [esp + 0x10], 0xd
mov dword [esp + 0x14], 0xd
call fcn.7142e4f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
test edx, edx
jne 0x7145b523
lea eax, [0x7148d8c0]
mov dword [esp], eax
call fcn.713cbb70
mov eax, dword [esp + 0x54]
test byte [eax], al
mov ecx, dword [0x71567460]
mov edx, dword [esp + 4]
test ecx, ecx
jne 0x7145b4dc
mov dword [eax + 8], edx
jmp 0x7145b4e6
lea edi, [eax + 8]
mov eax, edx
call fcn.7141fd40
mov dword [esp], edx
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], 0xd
call fcn.7145ab20
mov eax, dword [esp + 0x54]
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov ecx, dword [esp + 0x40]
xor edx, edx
jmp 0x7145b5ab
mov byte [esp + 0x27], 0
mov edx, dword [esp + 0x4c]
mov eax, dword [edx]
call eax
add esp, 0x50
ret
mov dword [esp + 0x30], edx
mov ebx, edx
shl edx, 3
mov ebp, edx
sar edx, 0x1f
cmp edx, 1
sbb esi, esi
xor esi, 0xffffffff
or esi, ebp
mov dword [esp + 0x3c], esi
cmp esi, 0x20
sbb ebp, ebp
lea edi, [esi - 0x20]
mov dword [esp + 0x38], edi
cmp edi, 0x20
mov edx, ebp
sbb ebp, ebp
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb esi, esi
movzx ebx, byte [ebx + ecx + 5]
mov dword [esp + 0x34], ebx
mov ecx, dword [esp + 0x38]
shl ebx, cl
and ebx, ebp
mov ecx, edi
mov ebp, dword [esp + 0x34]
mov edi, ebp
shr ebp, cl
and ebp, esi
or ebp, ebx
or ebp, dword [eax + 0x10]
mov ecx, dword [esp + 0x3c]
shl edi, cl
and edi, edx
or dword [eax + 0xc], edi
mov dword [eax + 0x10], ebp
mov ebx, dword [esp + 0x30]
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x40]
mov ecx, ebx
cmp edx, 8
jge 0x7145b5c1
lea ebx, [edx + 5]
cmp ebx, 0xd
jb 0x7145b534
jmp 0x7145bc0f
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.7145ca50
mov eax, dword [0x71567460]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x7145b5eb
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
jmp 0x7145b5f8
mov edi, dword [esp + 0x54]
mov eax, ecx
call fcn.7141fd40
mov eax, edi
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 4]
cmp ecx, 1
ja 0x7145b608
mov ecx, 1
mov dword [eax + 0x84], ecx
nop
cmp ecx, 0x1000
ja 0x7145b61c
mov ecx, 0x1000
mov dword [esp + 0x28], ecx
lea eax, [0x714878e0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.71408c60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
lea ecx, [0x7148e5c0]
mov dword [esp], ecx
call fcn.713cbb70
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov ecx, dword [0x71567460]
test ecx, ecx
jne 0x7145b669
mov ecx, dword [esp + 0x64]
mov dword [eax + 4], ecx
jmp 0x7145b679
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.7141fd40
mov eax, ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov edx, dword [0x71567460]
test edx, edx
jne 0x7145b696
mov edx, dword [esp + 0x40]
mov dword [eax + 8], edx
jmp 0x7145b6a6
lea edi, [eax + 8]
mov edx, eax
mov eax, dword [esp + 0x40]
call fcn.7141fd40
mov eax, edx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov ecx, dword [0x71567460]
test ecx, ecx
jne 0x7145b6ca
mov ecx, dword [esp + 0x54]
mov dword [ecx + 4], eax
jmp 0x7145b6d6
mov ecx, dword [esp + 0x54]
lea edi, [ecx + 4]
call fcn.7141fd40
mov eax, dword [ecx + 8]
movzx edx, byte [eax + 1]
movzx eax, byte [eax]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.7145c560
mov eax, dword [0x71567460]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x7145b706
mov eax, dword [esp + 0x54]
mov dword [eax + 0x80], ecx
jmp 0x7145b719
mov edx, dword [esp + 0x54]
lea edi, [edx + 0x80]
mov eax, ecx
call fcn.7141fd40
mov eax, edx
mov edx, dword [eax + 8]
movzx ecx, byte [edx + 2]
cmp cl, 0x20
sbb edx, edx
mov ebx, 1
shl ebx, cl
and ebx, edx
mov dword [esp], ebx
call fcn.7145bf60
mov eax, dword [0x71567460]
mov edx, dword [esp + 4]
test eax, eax
jne 0x7145b74d
mov eax, dword [esp + 0x54]
mov dword [eax + 0x78], edx
jmp 0x7145b75d
mov ebx, dword [esp + 0x54]
lea edi, [ebx + 0x78]
mov eax, edx
call fcn.7141fd40
mov eax, ebx
mov edx, dword [eax + 8]
movzx ecx, byte [edx + 2]
cmp cl, 0x20
sbb edx, edx
mov ebx, 1
shl ebx, cl
and ebx, edx
mov dword [esp], ebx
call fcn.7145bf60
mov eax, dword [0x71567460]
mov edx, dword [esp + 4]
test eax, eax
jne 0x7145b791
mov eax, dword [esp + 0x54]
mov dword [eax + 0x7c], edx
jmp 0x7145b7a1
mov ebx, dword [esp + 0x54]
lea edi, [ebx + 0x7c]
mov eax, edx
call fcn.7141fd40
mov eax, ebx
mov edx, dword [eax + 8]
movzx ecx, byte [edx + 2]
cmp cl, 0x20
sbb edx, edx
mov ebx, 1
shl ebx, cl
and ebx, edx
lea edx, [ebx - 1]
mov dword [eax + 0x88], edx
lea edx, [0x71487820]
mov dword [esp], edx
mov dword [esp + 4], 0xc0
mov dword [esp + 8], 0xc0
call fcn.71408c60
mov eax, dword [esp + 0xc]
xor ecx, ecx
jmp 0x7145b7ec
mov word [eax + ecx*2], 0x400
inc ecx
cmp ecx, 0xc0
jb 0x7145b7e5
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x18], 0xc0
mov dword [ecx + 0x1c], 0xc0
mov edx, dword [0x71567460]
test edx, edx
jne 0x7145b815
mov dword [ecx + 0x14], eax
jmp 0x7145b81d
lea edi, [ecx + 0x14]
call fcn.7141fd40
lea eax, [0x71487820]
mov dword [esp], eax
mov dword [esp + 4], 0xc
mov dword [esp + 8], 0xc
call fcn.71408c60
mov eax, dword [esp + 0xc]
xor ecx, ecx
jmp 0x7145b84a
mov word [eax + ecx*2], 0x400
inc ecx
cmp ecx, 0xc
jb 0x7145b843
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x24], 0xc
mov dword [ecx + 0x28], 0xc
mov edx, dword [0x71567460]
test edx, edx
jne 0x7145b870
mov dword [ecx + 0x20], eax
jmp 0x7145b878
lea edi, [ecx + 0x20]
call fcn.7141fd40
lea eax, [0x71487820]
mov dword [esp], eax
mov dword [esp + 4], 0xc
mov dword [esp + 8], 0xc
call fcn.71408c60
mov eax, dword [esp + 0xc]
xor ecx, ecx
jmp 0x7145b8a5
mov word [eax + ecx*2], 0x400
inc ecx
cmp ecx, 0xc
jb 0x7145b89e
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x30], 0xc
mov dword [ecx + 0x34], 0xc
mov edx, dword [0x71567460]
test edx, edx
jne 0x7145b8cb
mov dword [ecx + 0x2c], eax
jmp 0x7145b8d3
lea edi, [ecx + 0x2c]
call fcn.7141fd40
lea eax, [0x71487820]
mov dword [esp], eax
mov dword [esp + 4], 0xc
mov dword [esp + 8], 0xc
call fcn.71408c60
mov eax, dword [esp + 0xc]
xor ecx, ecx
jmp 0x7145b900
mov word [eax + ecx*2], 0x400
inc ecx
cmp ecx, 0xc
jb 0x7145b8f9
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x3c], 0xc
mov dword [ecx + 0x40], 0xc
mov edx, dword [0x71567460]
test edx, edx
jne 0x7145b926
mov dword [ecx + 0x38], eax
jmp 0x7145b92e
lea edi, [ecx + 0x38]
call fcn.7141fd40
lea eax, [0x71487820]
mov dword [esp], eax
mov dword [esp + 4], 0xc
mov dword [esp + 8], 0xc
call fcn.71408c60
mov eax, dword [esp + 0xc]
xor ecx, ecx
jmp 0x7145b95b
mov word [eax + ecx*2], 0x400
inc ecx
cmp ecx, 0xc
jb 0x7145b954
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x48], 0xc
mov dword [ecx + 0x4c], 0xc
mov edx, dword [0x71567460]
test edx, edx
jne 0x7145b981
mov dword [ecx + 0x44], eax
jmp 0x7145b989
lea edi, [ecx + 0x44]
call fcn.7141fd40
lea eax, [0x71487820]
mov dword [esp], eax
mov dword [esp + 4], 0xc0
mov dword [esp + 8], 0xc0
call fcn.71408c60
mov eax, dword [esp + 0xc]
xor ecx, ecx
jmp 0x7145b9b6
mov word [eax + ecx*2], 0x400
inc ecx
cmp ecx, 0xc0
jb 0x7145b9af
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x54], 0xc0
mov dword [ecx + 0x58], 0xc0
mov edx, dword [0x71567460]
test edx, edx
jne 0x7145b9df
mov dword [ecx + 0x50], eax
jmp 0x7145b9e7
lea edi, [ecx + 0x50]
call fcn.7141fd40
lea eax, [0x71487820]
mov dword [esp], eax
mov dword [esp + 4], 0x72
mov dword [esp + 8], 0x72
call fcn.71408c60
mov eax, dword [esp + 0xc]
xor ecx, ecx
jmp 0x7145ba14
mov word [eax + ecx*2], 0x400
inc ecx
cmp ecx, 0x72
jb 0x7145ba0d
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x6c], 0x72
mov dword [ecx + 0x70], 0x72
mov edx, dword [0x71567460]
test edx, edx
jne 0x7145ba3a
mov dword [ecx + 0x68], eax
jmp 0x7145ba42
lea edi, [ecx + 0x68]
call fcn.7141fd40
lea eax, [0x7148f640]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.71408c60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x60], 4
mov dword [ecx + 0x64], 4
mov edx, dword [0x71567460]
test edx, edx
jne 0x7145ba85
mov dword [ecx + 0x5c], eax
jmp 0x7145ba8d
lea edi, [ecx + 0x5c]
call fcn.7141fd40
xor eax, eax
jmp 0x7145ba96
lea eax, [ebp + 1]
mov ecx, edx
cmp eax, 4
jge 0x7145bb4c
mov dword [esp + 0x2c], eax
nop
lea eax, [0x71487820]
mov dword [esp], eax
mov dword [esp + 4], 0x40
mov dword [esp + 8], 0x40
call fcn.71408c60
mov eax, dword [esp + 0xc]
xor ecx, ecx
jmp 0x7145bbfe
mov dword [esp + 0x40], eax
lea eax, [0x7148a840]
mov dword [esp], eax
call fcn.713cbb70
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 6
mov dword [eax + 4], 0x40
mov dword [eax + 8], 0x40
mov ecx, dword [0x71567460]
test ecx, ecx
jne 0x7145bb0a
mov edx, dword [esp + 0x40]
mov dword [eax], edx
jmp 0x7145bb17
mov edi, eax
mov eax, dword [esp + 0x40]
call fcn.7141fd40
mov eax, edi
mov edx, dword [esp + 0x54]
mov ebx, dword [edx + 0x5c]
mov ecx, dword [edx + 0x60]
mov ebp, dword [esp + 0x2c]
cmp ebp, ecx
jae 0x7145bc08
lea edi, [ebx + ebp*4]
mov ecx, dword [0x71567460]
test ecx, ecx
jne 0x7145bb42
mov dword [ebx + ebp*4], eax
jmp 0x7145ba91
call fcn.7141fd40
jmp 0x7145ba91
nop
lea eax, [0x71487820]
mov dword [esp], eax
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call fcn.71408c60
mov eax, dword [esp + 0xc]
xor ecx, ecx
jmp 0x7145bb7a
mov word [eax + ecx*2], 0x400
inc ecx
cmp ecx, 0x10
jb 0x7145bb73
mov dword [esp + 0x40], eax
lea eax, [0x7148a840]
mov dword [esp], eax
call fcn.713cbb70
mov edi, dword [esp + 4]
mov dword [edi + 0xc], 4
mov dword [edi + 4], 0x10
mov dword [edi + 8], 0x10
mov eax, dword [0x71567460]
test eax, eax
jne 0x7145bbc3
mov eax, dword [esp + 0x40]
mov dword [edi], eax
mov eax, dword [esp + 0x54]
mov dword [eax + 0x74], edi
jmp 0x7145bbde
mov eax, dword [esp + 0x40]
call fcn.7141fd40
mov ecx, dword [esp + 0x54]
lea edx, [ecx + 0x74]
mov eax, edi
mov edi, edx
call fcn.7141fd40
mov eax, ecx
mov dword [esp], eax
call fcn.7145acc0
mov byte [esp + 0x27], 0
mov edx, dword [esp + 0x4c]
mov eax, dword [edx]
call eax
add esp, 0x50
ret
mov word [eax + ecx*2], 0x400
inc ecx
cmp ecx, 0x40
jb 0x7145bbf7
jmp 0x7145bacd
mov eax, ebp
call fcn.7141fdc0
mov eax, ebx
mov ecx, 0xd
call fcn.7141fdc0
nop
call fcn.713f38f0
add esp, 0x50
ret
call fcn.7141e910
jmp fcn.7145b3e0