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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x114
mov eax, dword [0x1011f340]
lea ecx, [esp + 0xc]
push ebx
push esi
push edi
mov esi, edx
mov dword [esp + 0x50], eax
push 0
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.0362a270
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x10], eax
mov ebx, esi
push esi
mov dword [esp + 0x3c], ebx
mov word [eax], cx
xor al, al
mov byte [esp + 0x13], al
call dword [0x100f523c]
mov edi, 0
mov esi, eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
lea edx, [edi + 2]
inc esi
je 0x36f9bf2
xor ecx, ecx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.03707780
mov edi, eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], edi
mov edx, ebx
xor eax, eax
cmp ax, word [edx]
je 0x36fa0b2
xor esi, esi
mov dword [esp + 0x4c], 0x20
mov ecx, 0x22
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], ecx
movzx eax, word [ebx]
cmp cx, ax
mov cl, byte [esp + 0xf]
jne 0x36f9c2a
test cl, cl
jne 0x36f9de7
cmp word [esp + 0x44], ax
jne 0x36f9c4d
cmp ebx, edx
jne 0x36f9c4d
mov eax, dword [esp + 0x40]
add eax, eax
mov byte [esp + 0xf], 1
push eax
push edi
call dword [0x1011f44c]
jmp 0x36f9da8
cmp word [esp + 0x4c], ax
jne 0x36f9dd3
test cl, cl
je 0x36f9c6f
push edi
call dword [0x100f523c]
mov cx, word [ebx]
mov word [edi + eax*2], cx
jmp 0x36f9da8
sar esi, 1
xor ebx, ebx
lea eax, [esi + 1]
test eax, eax
je 0x36f9c91
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.03707780
mov ebx, eax
add esi, esi
lea ecx, [esi + 2]
push ecx
push ebx
call dword [0x1011f44c]
push esi
mov esi, dword [esp + 0x18]
push esi
push ebx
call dword [0x1011f348]
push ebx
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
call fcn.0362a210
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
call fcn.0362a210
push 0x10113be4
lea edx, [esp + 0x28]
lea ecx, [esp + 0x80]
call fcn.03629370
mov ecx, dword [esp + 0x28]
add esp, 4
test ecx, ecx
je 0x36f9d2c
call fcn.03707920
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
xor edi, edi
lea esi, [esp + 0x70]
mov eax, dword [esp + 0x50]
push 0
push dword [esi]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x1c]
test eax, eax
jne 0x36f9f8b
push dword [esi]
call dword [0x100f514c]
cmp eax, 0xffffffff
jne 0x36f9d5e
mov ecx, dword [esi]
call fcn.0370cbe0
inc edi
add esi, 0xc
cmp edi, 2
jb 0x36f9d32
lea esi, [esp + 0x88]
mov edi, 1
mov ecx, dword [esi - 0xc]
lea esi, [esi - 0xc]
test ecx, ecx
je 0x36f9d96
call fcn.03707920
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
dec edi
jns 0x36f9d73
test ebx, ebx
je 0x36f9da4
mov ecx, ebx
call fcn.03707920
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
add dword [esp + 0x48], 2
add ebx, 2
xor eax, eax
mov dword [esp + 0x38], ebx
cmp ax, word [ebx]
je 0x36fa0b2
mov edi, dword [esp + 0x3c]
lea ecx, [eax + 0x22]
mov esi, dword [esp + 0x48]
jmp 0x36f9c16
test cl, cl
je 0x36f9dac
push edi
call dword [0x100f523c]
mov cx, word [ebx]
mov word [edi + eax*2], cx
jmp 0x36f9da8
push edi
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
call fcn.0362a210
push edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
call fcn.0362a210
push 0x10113be4
lea edx, [esp + 0x28]
lea ecx, [esp + 0x9c]
call fcn.03629370
mov ecx, dword [esp + 0x28]
add esp, 4
test ecx, ecx
je 0x36f9e5c
call fcn.03707920
xor edi, edi
lea esi, [esp + 0x8c]
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x36f9e7d
mov eax, dword [ecx]
push 0
push dword [esi]
call dword [eax + 0x1c]
test eax, eax
jne 0x36f9e9f
push dword [esi]
call dword [0x100f514c]
cmp eax, 0xffffffff
jne 0x36f9e91
mov ecx, dword [esi]
call fcn.0370cbe0
inc edi
add esi, 0xc
cmp edi, 2
jb 0x36f9e65
jmp 0x36f9f4d
lea eax, [edi + edi*2]
push dword [esp + eax*4 + 0x8c]
lea ecx, [esp + 0x1c]
call fcn.0362a210
push 0
lea ecx, [esp + 0x28]
call fcn.036e5060
lea eax, [ebx + 2]
push eax
lea ecx, [esp + 0x58]
call fcn.036e5100
mov ecx, dword [ebp + 8]
sub esp, 0xc
call fcn.036efce0
lea ecx, [esp + 0x54]
test eax, eax
jne 0x36f9f33
call fcn.036fabc0
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x36f9eef
call fcn.03707920
lea esi, [esp + 0xa4]
mov edi, 1
jmp 0x36f9f00
mov ecx, dword [esi - 0xc]
lea esi, [esi - 0xc]
test ecx, ecx
je 0x36f9f23
call fcn.03707920
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
dec edi
jns 0x36f9f00
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jmp 0x36fa4a6
call fcn.036fabc0
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x36f9f45
call fcn.03707920
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
lea esi, [esp + 0xa4]
mov edi, 1
lea esp, [esp]
mov ecx, dword [esi - 0xc]
lea esi, [esi - 0xc]
test ecx, ecx
je 0x36f9f83
call fcn.03707920
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
dec edi
jns 0x36f9f60
jmp 0x36fa4a6
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
call fcn.0362a210
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x18]
push esi
call fcn.0362a210
test esi, esi
je 0x36f9fc6
mov ecx, esi
call fcn.03707920
push 0
lea ecx, [esp + 0xac]
call fcn.036e5060
push dword [esp + 0x38]
lea ecx, [esp + 0xc0]
call fcn.036e5100
mov ecx, dword [ebp + 8]
sub esp, 0xc
call fcn.036efce0
lea ecx, [esp + 0xbc]
test eax, eax
je 0x36fa048
call fcn.036fabc0
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x36fa00f
call fcn.03707920
lea esi, [esp + 0x88]
mov edi, 1
jmp 0x36fa020
mov ecx, dword [esi - 0xc]
lea esi, [esi - 0xc]
test ecx, ecx
je 0x36fa043
call fcn.03707920
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
dec edi
jns 0x36fa020
jmp 0x36fa096
call fcn.036fabc0
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x36fa05d
call fcn.03707920
lea esi, [esp + 0x88]
mov edi, 1
lea esp, [esp]
mov ecx, dword [esi - 0xc]
lea esi, [esi - 0xc]
test ecx, ecx
je 0x36fa093
call fcn.03707920
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
dec edi
jns 0x36fa070
test ebx, ebx
je 0x36f9f26
mov ecx, ebx
call fcn.03707920
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jmp 0x36fa4a6
xor ecx, ecx
mov dword [esp + 0x54], 0
xor edi, edi
mov dword [esp + 0x58], 0
mov eax, edx
cmp cx, word [edx]
je 0x36fa0db
lea ecx, [ecx]
lea eax, [eax + 2]
xor ecx, ecx
inc edi
cmp cx, word [eax]
jne 0x36fa0d0
lea eax, [edi + 0xff]
xor ecx, ecx
mov dword [esp + 0x5c], eax
mov edx, 2
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.03707780
xor ecx, ecx
mov esi, eax
call fcn.03707920
mov ebx, dword [esp + 0x14]
lea ecx, [edi*2 + 2]
push ecx
push ebx
push esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edi
call fcn.037136d0
xor ecx, ecx
add esp, 0xc
xor esi, esi
mov eax, ebx
cmp cx, word [ebx]
je 0x36fa13b
lea ecx, [ecx]
lea eax, [eax + 2]
xor ecx, ecx
inc esi
cmp cx, word [eax]
jne 0x36fa130
lea eax, [esi + 0xff]
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov edx, 2
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.03707780
xor ecx, ecx
mov edi, eax
call fcn.03707920
lea ecx, [esi*2 + 2]
mov dword [esp + 0x24], edi
push ecx
push ebx
push edi
mov dword [esp + 0x34], esi
call fcn.037136d0
add esp, 0xc
lea edx, [esp + 0x24]
lea ecx, [esp + 0x60]
push 0x10113be4
call fcn.03629370
add esp, 4
test edi, edi
je 0x36fa19e
mov ecx, edi
call fcn.03707920
xor edi, edi
lea esi, [esp + 0x54]
mov eax, dword [esp + 0x50]
push 0
push dword [esi]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x1c]
test eax, eax
jne 0x36fa20b
push dword [esi]
call dword [0x100f514c]
cmp eax, 0xffffffff
jne 0x36fa1cc
mov ecx, dword [esi]
call fcn.0370cbe0
inc edi
add esi, 0xc
cmp edi, 2
jb 0x36fa1a4
lea esi, [esp + 0x6c]
mov edi, 1
mov edi, edi
mov ecx, dword [esi - 0xc]
lea esi, [esi - 0xc]
test ecx, ecx
je 0x36fa203
call fcn.03707920
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
dec edi
jns 0x36fa1e0
jmp 0x36fa4a6
lea eax, [edi + edi*2]
mov ebx, dword [esp + eax*4 + 0x54]
test ebx, ebx
jne 0x36fa272
cmp dword [esp + 0x20], ebx
ja 0x36fa267
xor ecx, ecx
mov eax, 0x100
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.03707780
mov edx, dword [esp + 0x1c]
mov esi, eax
mov ebx, dword [esp + 0x18]
lea edx, [edx*2 + 2]
push edx
push ebx
push esi
call fcn.037136d0
add esp, 0xc
mov ecx, ebx
call fcn.03707920
xor eax, eax
mov dword [esp + 0x10], esi
mov word [esi], ax
jmp 0x36fa2ec
mov esi, dword [esp + 0x18]
xor eax, eax
mov word [esi], ax
jmp 0x36fa2ec
xor ecx, ecx
xor edi, edi
mov eax, ebx
cmp cx, word [ebx]
je 0x36fa28b
lea ecx, [ecx]
lea eax, [eax + 2]
xor ecx, ecx
inc edi
cmp cx, word [eax]
jne 0x36fa280
cmp edi, dword [esp + 0x20]
jb 0x36fa2d6
xor ecx, ecx
lea eax, [edi + 0x100]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.03707780
mov ecx, dword [esp + 0x1c]
mov esi, eax
lea ecx, [ecx*2 + 2]
push ecx
push dword [esp + 0x1c]
push esi
call fcn.037136d0
mov ecx, dword [esp + 0x24]
add esp, 0xc
call fcn.03707920
mov dword [esp + 0x10], esi
jmp 0x36fa2da
mov esi, dword [esp + 0x18]
lea eax, [edi*2 + 2]
push eax
push ebx
push esi
call fcn.037136d0
add esp, 0xc
xor ecx, ecx
mov eax, 0x100
mov edi, 2
mul edi
seto cl
neg ecx
or ecx, eax
call fcn.03707780
mov ebx, eax
xor ecx, ecx
mov dword [esp + 0x40], ebx
call fcn.03707920
xor eax, eax
xor ecx, ecx
mov word [ebx], ax
cmp eax, 0x100f7c80
mov eax, 0x100
jne 0x36fa341
mul edi
seto cl
neg ecx
or ecx, eax
call fcn.03707780
xor ecx, ecx
mov ebx, eax
call fcn.03707920
xor eax, eax
jmp 0x36fa35e
mul edi
seto cl
neg ecx
or ecx, eax
call fcn.03707780
xor ecx, ecx
mov ebx, eax
call fcn.03707920
mov ax, word [0x100f7c80]
mov word [ebx], ax
xor ecx, ecx
mov eax, 0x100
mul edi
seto cl
neg ecx
or ecx, eax
call fcn.03707780
mov esi, eax
xor ecx, ecx
mov dword [esp + 0x44], esi
call fcn.03707920
xor eax, eax
mov word [esi], ax
lea eax, [esp + 0xd8]
push 0x44
push eax
call dword [0x1011f44c]
mov esi, dword [ebp + 8]
mov dword [esp + 0xd8], 0x44
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x4c], ecx
test ecx, ecx
jne 0x36fa3d6
mov eax, 0x100
mul edi
seto cl
neg ecx
or ecx, eax
call fcn.03707780
xor ecx, ecx
mov edi, eax
call fcn.03707920
xor eax, eax
mov word [edi], ax
jmp 0x36fa423
xor edx, edx
xor esi, esi
mov eax, ecx
cmp dx, word [ecx]
je 0x36fa3ec
lea eax, [eax + 2]
xor ecx, ecx
inc esi
cmp cx, word [eax]
jne 0x36fa3e1
xor ecx, ecx
lea eax, [esi + 0x100]
mul edi
seto cl
neg ecx
or ecx, eax
call fcn.03707780
xor ecx, ecx
mov edi, eax
call fcn.03707920
lea eax, [esi*2 + 2]
push eax
push dword [esp + 0x50]
push edi
call fcn.037136d0
mov esi, dword [ebp + 8]
add esp, 0xc
push dword [esi + 4]
lea eax, [esp + 0xdc]
push eax
push 0
push 0
push 4
push 0
push 0
push 0
push edi
push 0
call fcn.036eb1b0
test eax, eax
je 0x36fa44c
mov dword [esi], 1
test edi, edi
je 0x36fa457
mov ecx, edi
call fcn.03707920
mov ecx, dword [esp + 0x44]
call fcn.03707920
test ebx, ebx
je 0x36fa46b
mov ecx, ebx
call fcn.03707920
mov ecx, dword [esp + 0x40]
call fcn.03707920
lea esi, [esp + 0x6c]
mov edi, 1
lea ecx, [ecx]
mov ecx, dword [esi - 0xc]
lea esi, [esi - 0xc]
test ecx, ecx
je 0x36fa4a3
call fcn.03707920
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
dec edi
jns 0x36fa480
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x36fa4b3
call fcn.03707920
mov eax, dword [esp + 0x10]
test eax, eax
je 0x36fa4c2
mov ecx, eax
call fcn.03707920
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret