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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10215c90
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa0
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [esp + 0x10], esi
cmp dword [esi + 0x50], ebx
jne 0x1003632b
xor al, al
jmp 0x10036be6
mov edi, ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0xb4], ebx
lea ecx, [esi + 0x124]
mov eax, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebp + 0x18]
mov dword [ecx + 4], eax
lea ecx, [esp + 0x18]
mov eax, dword [ebp + 0xc]
push dword [esi + 0x74]
mov dword [esi + 0x12c], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x130], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x134], eax
mov dword [esp + 0x1c], ebx
call fcn.1000fdf5
xor eax, eax
lea ecx, [esp + 0x24]
inc eax
mov byte [esp + 0xb4], al
push dword [esi + 0x7c]
mov dword [esp + 0x28], ebx
call fcn.1000fdf5
mov byte [esp + 0xb4], 2
mov ebx, dword [esp + 0x24]
test ebx, ebx
jne 0x10036410
push dword [esi + 0x88]
lea ecx, [esp + 0x28]
call fcn.1000fdf5
mov ebx, dword [esp + 0x24]
test ebx, ebx
jne 0x10036410
mov eax, dword [ebp + 8]
cmp eax, 0xfff
je 0x10036400
cmp eax, 7
je 0x10036400
cmp eax, 8
je 0x10036400
cmp eax, 1
je 0x100363f7
mov eax, dword [ebp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ebp + 0x18]
mov dword [ecx + 4], eax
mov ecx, esi
call fcn.10035a31
push eax
lea ecx, [esp + 0x18]
call fcn.1000fdf5
mov esi, dword [esp + 0x18]
jmp 0x100364a5
mov esi, dword [esp + 0x18]
jmp 0x100364bd
mov eax, dword [esi]
lea ecx, [esi + 0x124]
push ecx
mov ecx, esi
call dword [eax + 0x64]
jmp 0x100363e4
cmp byte [esi + 0x80], 0
jne 0x1003647b
mov eax, dword [ebx]
mov ecx, ebx
push esi
call dword [eax + 0x3e4]
cmp eax, 1
je 0x1003647b
mov eax, dword [ebp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ebp + 0x18]
mov dword [ecx + 4], eax
mov ecx, esi
call fcn.10035a31
push eax
lea ecx, [esp + 0x18]
call fcn.1000fdf5
mov edi, dword [esp + 0x14]
test edi, edi
je 0x1003646f
mov eax, dword [edi]
mov ecx, edi
push 1
push ebx
push esi
call dword [eax + 0x1d8]
test al, al
jne 0x10036475
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
and dword [esp + 0x14], 0
mov esi, dword [esp + 0x18]
jmp 0x1003649b
mov esi, dword [esp + 0x18]
jmp 0x10036497
push ebx
lea ecx, [esp + 0x1c]
call fcn.1000fdf5
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push esi
call fcn.1000fdf5
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x100364a9
push ebx
lea ecx, [esp + 0x18]
call fcn.1000fdf5
mov edi, dword [esp + 0x14]
cmp dword [ebp + 8], 3
jne 0x100364bd
mov ecx, dword [esp + 0x10]
push 0
mov eax, dword [ecx]
call dword [eax + 0x134]
mov edx, edi
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10035cad
push eax
lea ecx, [esp + 0x18]
call fcn.1000fdf5
push dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
push dword [ebp + 0xc]
mov ebx, dword [esp + 0x1c]
push ecx
push ecx
mov ecx, esp
push ecx
push ebx
mov dword [ecx], eax
mov eax, dword [ebp + 0x18]
mov dword [ecx + 4], eax
lea ecx, [esp + 0x40]
call fcn.1002d055
or eax, 0xffffffff
mov byte [esp + 0xb4], 3
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 8]
cmp eax, 0xfff
je 0x1003651d
cmp eax, 7
je 0x1003651d
xor edx, edx
inc edx
mov cl, dl
jmp 0x10036522
xor edx, edx
xor cl, cl
inc edx
cmp eax, 7
je 0x10036532
cmp eax, 0xfff
je 0x10036532
xor al, al
jmp 0x10036534
mov al, dl
push ecx
push eax
push ebx
push edi
lea ecx, [esp + 0x70]
call fcn.10031e29
mov byte [esp + 0xb4], 4
cmp ebx, esi
je 0x1003661b
push ebx
lea ecx, [edi + 0x74]
call fcn.1000fdf5
push esi
mov edx, ebx
mov ecx, edi
call fcn.1006f230
and dword [esp + 0x10], 0
pop ecx
push eax
lea ecx, [esp + 0x10]
call fcn.1000fdf5
mov byte [esp + 0xb4], 5
lea eax, [esp + 0x28]
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
push eax
push edi
push esi
mov dword [esp + 0x38], 0x8001
call fcn.10015e9c
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
push edi
push esi
mov dword [esp + 0x38], 1
call fcn.10015f8c
cmp dword [ebp + 8], 1
je 0x100365f3
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
push edi
push ebx
mov dword [esp + 0x38], 0x8000
call fcn.10015e9c
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
and dword [esp + 0x2c], 0
push eax
push edi
push ebx
call fcn.10015f8c
push ebx
lea ecx, [esp + 0x1c]
call fcn.1000fdf5
mov esi, dword [esp + 0x18]
jmp 0x10036604
test esi, esi
je 0x10036604
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
xor esi, esi
mov dword [esp + 0x18], esi
mov byte [esp + 0xb4], 4
test edi, edi
je 0x10036617
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [esp + 0x10]
mov eax, dword [ebp + 8]
mov dword [esp + 0x2c], eax
cmp eax, 0xfff
jne 0x1003665e
test esi, esi
je 0x10036a6b
and dword [esp + 0x44], 0
lea eax, [esp + 0x28]
push eax
push esi
mov ecx, edi
call fcn.10015c8f
cmp dword [esp + 0x4c], 0
mov ecx, edi
mov eax, dword [edi]
jl 0x10036657
push dword [esp + 0x4c]
jmp 0x10036a65
push 0
jmp 0x10036a65
cmp eax, 5
jg 0x10036a23
je 0x100369b9
dec eax
je 0x100368f4
dec eax
je 0x100367ec
dec eax
je 0x10036765
dec eax
jne 0x10036a35
lea ecx, [edi + 0x78]
push esi
call fcn.1000fdf5
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0xc]
and dword [esp + 0xc], 0
mov dword [edi + 0xac], eax
mov eax, dword [esp + 0x40]
mov dword [edi + 0xb0], eax
push dword [edi + 0x84]
call fcn.1000fdf5
lea eax, [esp + 0x28]
mov byte [esp + 0xb4], 8
push eax
push esi
mov ecx, edi
mov byte [edi + 0xc2], 0
call fcn.10015c8f
cmp byte [edi + 0xc2], 0
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x1f], al
jne 0x10036708
cmp edi, dword [ecx + 0x84]
jne 0x10036708
mov eax, dword [ecx]
push 0
push 1
push esi
call dword [eax + 0x1f4]
mov ecx, dword [esp + 0x10]
mov al, byte [esp + 0x1f]
test al, al
je 0x10036745
cmp dword [esp + 0x58], 0
je 0x10036745
cmp dword [esp + 0x5c], 0
je 0x10036745
mov eax, dword [ecx]
lea edx, [esp + 0x28]
push edx
push dword [esp + 0x5c]
call dword [eax + 0xf8]
mov byte [esp + 0xb4], 4
test edi, edi
je 0x1003673e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov al, 1
jmp 0x10036b7d
mov byte [esp + 0xb4], 4
test edi, edi
je 0x10036b7d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov al, byte [esp + 0x1f]
jmp 0x10036b7d
lea eax, [esp + 0x28]
mov ecx, edi
push eax
push esi
call fcn.10015c8f
mov ecx, dword [edi + 0x78]
test al, al
je 0x1003679a
test ecx, ecx
je 0x10036786
mov eax, dword [ecx]
call dword [eax + 4]
and dword [edi + 0x78], 0
cmp dword [esp + 0x4c], 0
jl 0x10036a6b
push dword [esp + 0x4c]
jmp 0x10036a61
test ecx, ecx
je 0x10036a35
mov edx, dword [edi + 0x74]
call fcn.1006f333
push eax
lea ecx, [esp + 0x34]
call fcn.1000fdf5
mov ecx, dword [edi + 0x78]
test ecx, ecx
je 0x100367c4
mov eax, dword [ecx]
call dword [eax + 4]
and dword [edi + 0x78], 0
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0xff
je 0x10036a35
lea eax, [esp + 0x28]
mov ecx, edi
push eax
push dword [esp + 0x34]
call fcn.10015c8f
jmp 0x10036a35
cmp dword [edi + 0xb4], 0
jne 0x100368a4
test byte [esp + 0x44], 1
je 0x100368a4
mov eax, dword [edi + 0xac]
mov ecx, dword [edi + 0xb0]
sub ecx, dword [esp + 0x40]
sub eax, dword [esp + 0x3c]
imul ecx, ecx
imul eax, eax
add ecx, eax
call fcn.1002aca0
cmp eax, 3
jle 0x100368a4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100368a4
lea ecx, [eax + 0x70]
call fcn.1002b4bd
test al, al
je 0x100368a4
mov eax, dword [esp + 0x3c]
mov ecx, edi
mov edx, dword [esp + 0x30]
mov dword [edi + 0xac], eax
mov eax, dword [esp + 0x40]
mov dword [edi + 0xb0], eax
call fcn.10035bc8
mov dword [esp + 0x20], eax
test eax, eax
je 0x100368a4
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x74]
call fcn.10036bfd
mov byte [esp + 0xb4], 6
lea ecx, [esp + 0x70]
mov eax, dword [edi]
push ecx
push dword [esp + 0x24]
mov ecx, edi
call dword [eax + 0xf8]
lea ecx, [esp + 0x70]
mov byte [esp + 0xb4], 4
call fcn.1001563c
jmp 0x10036a6b
lea eax, [esp + 0x28]
mov ecx, edi
push eax
push esi
call fcn.10015c8f
cmp dword [edi + 0xb4], 0
jne 0x10036a35
test al, al
je 0x10036a35
cmp dword [esp + 0x58], 0
je 0x10036a35
cmp dword [esp + 0x5c], 0
je 0x10036a35
mov eax, dword [edi]
lea ecx, [esp + 0x28]
push ecx
push dword [esp + 0x5c]
mov ecx, edi
call dword [eax + 0xf8]
jmp 0x10036a6b
lea edx, [esp + 0x28]
lea ecx, [edi + 0x28]
mov eax, dword [ecx]
push edx
push 0
push edi
call dword [eax + 0x1c]
push dword [edi + 0xf8]
and dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
call fcn.1000ff14
mov byte [esp + 0xb4], 9
mov edi, dword [esp + 0xc]
test edi, edi
je 0x10036991
mov esi, dword [esp + 0x10]
test byte [edi + 0xc], 1
je 0x1003694c
mov eax, dword [edi]
lea ecx, [esp + 0x28]
push ecx
push ebx
push esi
mov ecx, edi
call dword [eax + 0x1c]
test al, al
je 0x1003694c
or dword [esp + 0x2c], 0x10000
push dword [edi + 8]
and dword [esp + 0x14], 0
lea ecx, [esp + 0x14]
call fcn.1000ff14
mov byte [esp + 0xb4], 0xa
lea ecx, [esp + 0xc]
push dword [esp + 0x10]
call fcn.1000ff14
push 0
lea ecx, [esp + 0x14]
mov byte [esp + 0xb8], 9
call fcn.1000ff14
mov edi, dword [esp + 0xc]
test edi, edi
jne 0x1003692c
mov esi, dword [esp + 0x18]
push 0
lea ecx, [esp + 0x10]
mov byte [esp + 0xb8], 4
call fcn.1000ff14
mov eax, dword [esp + 0x2c]
shr eax, 0x10
and eax, 0xffffff01
mov dword [esp + 0xc], eax
jmp 0x10036b81
push dword [edi + 0x84]
and dword [esp + 0x24], 0
lea ecx, [esp + 0x24]
call fcn.1000fdf5
lea eax, [esp + 0x28]
mov byte [esp + 0xb4], 7
push eax
push esi
mov ecx, edi
call fcn.10015c8f
mov edi, dword [esp + 0x20]
mov dword [esp + 0xc], eax
test al, al
jne 0x10036a07
mov ecx, dword [esp + 0x10]
cmp edi, dword [ecx + 0x84]
jne 0x10036a07
mov eax, dword [ecx]
push 0
push 1
push esi
call dword [eax + 0x1f4]
mov byte [esp + 0xb4], 4
test edi, edi
je 0x10036b81
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x10036b81
sub eax, 6
je 0x10036a87
dec eax
je 0x10036a75
dec eax
je 0x10036a75
sub eax, 0xfffa
je 0x10036a55
mov eax, dword [edi]
xor ecx, ecx
cmp dword [esp + 0x4c], ecx
cmovge ecx, dword [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0x180]
mov byte [esp + 0xc], 0
jmp 0x10036b81
xor ecx, ecx
cmp dword [esp + 0x4c], ecx
cmovge ecx, dword [esp + 0x4c]
push ecx
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x180]
mov byte [esp + 0xc], 1
jmp 0x10036b81
lea eax, [esp + 0x28]
mov ecx, edi
push eax
push esi
call fcn.10015c8f
jmp 0x10036b7d
mov eax, dword [edi]
mov ecx, edi
and dword [edi + 0x12c], 0
call dword [eax + 0x18]
xor ecx, ecx
mov dword [esp + 0x20], eax
inc ecx
cmp dword [esp + 0x44], 0
push 0xffffffffffffffff
pop eax
cmovl ecx, eax
cmp dword [edi + 0xa8], ecx
je 0x10036acf
mov eax, dword [edi + 0x94]
and dword [edi + 0xa0], 0
mov dword [edi + 0x9c], eax
mov dword [edi + 0x98], eax
mov byte [edi + 0xa4], 0
lea eax, [esp + 0x20]
mov dword [edi + 0xa8], ecx
lea esi, [edi + 0x94]
push eax
mov ecx, esi
call fcn.1003ab6a
xor ebx, ebx
mov eax, 0x5dc
inc ebx
mov ecx, dword [esi]
mov dword [esp + 0xc], eax
test ecx, ecx
je 0x10036afe
mov ecx, dword [ecx - 4]
jmp 0x10036b00
xor ecx, ecx
cmp ebx, ecx
jge 0x10036b32
cmp ebx, dword [esi + 0xc]
jl 0x10036b10
add eax, 0x5dc
jmp 0x10036b2f
lea eax, [ebx - 1]
mov ecx, esi
push eax
call fcn.1003abc6
push ebx
mov ecx, esi
mov edi, eax
call fcn.1003abc6
mov ecx, dword [eax]
sub ecx, dword [edi]
mov eax, dword [esp + 0xc]
add eax, ecx
inc ebx
jmp 0x10036aef
mov ecx, dword [esi]
test ecx, ecx
je 0x10036b3d
mov ecx, dword [ecx - 4]
jmp 0x10036b3f
xor ecx, ecx
xor edx, edx
div ecx
xor edx, edx
mov ecx, 0x190
div ecx
push 0x10
inc eax
pop ecx
cmp eax, ecx
jbe 0x10036b5a
mov dword [esp + 0x54], ecx
jmp 0x10036b66
xor ecx, ecx
inc ecx
cmp eax, ecx
cmovb eax, ecx
mov dword [esp + 0x54], eax
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x28]
mov ecx, dword [esp + 0x10]
push eax
push esi
call fcn.10015c8f
mov ebx, dword [esp + 0x14]
mov byte [esp + 0xc], al
lea ecx, [esp + 0x60]
mov byte [esp + 0xb4], 3
call fcn.10031e9d
lea ecx, [esp + 0x28]
mov byte [esp + 0xb4], 2
call fcn.1001563c
xor eax, eax
inc eax
mov byte [esp + 0xb4], al
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x10036bba
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xb4], 0
test esi, esi
je 0x10036bcd
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
or eax, 0xffffffff
mov dword [esp + 0xb4], eax
test ebx, ebx
je 0x10036be2
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 4]
mov al, byte [esp + 0xc]
mov ecx, dword [esp + 0xac]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14