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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x4b8
mov eax, dword [0x1011f340]
push esi
mov esi, ecx
mov dword [esp + 0x1c], eax
mov ecx, dword [0x1011f360]
push edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xf8]
call eax
test eax, eax
je 0x36fd6bc
push 0x101073e0
push ecx
push esi
push ecx
push 0x10113c98
push 0x1010dfe8
push 2
lea ecx, [esp + 0x178]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
add esp, 4
mov ecx, eax
call fcn.0362ee90
add esp, 4
mov ecx, eax
call fcn.0362ee90
lea ecx, [esp + 0x15c]
call fcn.0363bfe0
cmp dword [ebp + 0x2c], 0
je 0x36fded3
mov ecx, dword [0x1011f360]
mov eax, dword [ecx]
mov eax, dword [eax + 0xf8]
call eax
test eax, eax
je 0x36fd705
push 0x10113cf8
push 0x1010dfe8
push 4
lea ecx, [esp + 0x114]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
lea ecx, [esp + 0x108]
call fcn.0363bfe0
lea ecx, [esp + 0x44]
call fcn.0370ced0
mov ecx, dword [0x1011f360]
mov eax, dword [ecx]
mov eax, dword [eax + 0xf8]
call eax
mov edi, dword [esp + 0x44]
test eax, eax
je 0x36fd787
push 0x10108b9c
sub esp, 0xc
mov ecx, esp
push edi
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
call fcn.0362a210
push ecx
push 0x10113d50
push 0x1010dfe8
push 2
lea ecx, [esp + 0x170]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
add esp, 4
mov ecx, eax
call fcn.0362c940
mov ecx, eax
call fcn.0363c0c0
lea ecx, [esp + 0x150]
call fcn.0363bfe0
push 0
push 0
push 3
push 0
push 1
push 0x80000000
push esi
call dword [0x100f5238]
mov esi, eax
mov dword [esp + 0x24], esi
cmp esi, 0xffffffff
jne 0x36fd85a
call dword [0x100f526c]
mov ecx, dword [0x1011f360]
mov dword [esp + 0x18], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xf8]
call edx
test eax, eax
je 0x36fdea6
push 0x10112f18
sub esp, 0xc
mov ecx, esp
push edi
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
call fcn.0362a210
push ecx
push 0x10113da0
push 0x1010dfe8
push 0
lea ecx, [esp + 0x164]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
add esp, 4
mov ecx, eax
call fcn.0362c940
mov ecx, eax
call fcn.0363c0c0
push dword [esp + 0x18]
mov edi, eax
lea eax, [esp + 0x2c4]
push 0x100f9404
push eax
call dword [0x100f5304]
add esp, 0xc
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
call fcn.0363c0c0
lea ecx, [esp + 0x144]
jmp 0x36fde9d
push 0
lea eax, [esp + 0x24]
push eax
push 0x40
lea eax, [esp + 0x184]
push eax
push esi
call dword [0x100f5124]
test eax, eax
je 0x36fddf4
cmp dword [esp + 0x20], 0x40
jne 0x36fddf4
push 0
push 0
push dword [esp + 0x1bc]
push esi
call dword [0x100f50b4]
cmp dword [esp + 0x1b4], eax
je 0x36fd92e
call dword [0x100f526c]
mov ecx, dword [0x1011f360]
mov dword [esp + 0x18], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xf8]
call edx
test eax, eax
je 0x36fdea6
push dword [esp + 0x18]
lea eax, [esp + 0x48]
push ecx
push 0x10112f18
sub esp, 0x10
mov ecx, esp
push eax
call fcn.03629340
push ecx
push 0x10113e30
push 0x1010dfe8
push 0
lea ecx, [esp + 0xe0]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
add esp, 4
mov ecx, eax
call fcn.0362c940
add esp, 4
mov ecx, eax
call fcn.0363c0c0
add esp, 4
mov ecx, eax
call fcn.0363c1b0
lea ecx, [esp + 0xb4]
call fcn.0363bfe0
jmp 0x36fdea6
push 0
lea eax, [esp + 0x24]
push eax
push 0x108
lea eax, [esp + 0x1c4]
push eax
push esi
call dword [0x100f5124]
test eax, eax
jne 0x36fd9db
call dword [0x100f526c]
mov ecx, dword [0x1011f360]
mov dword [esp + 0x18], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xf8]
call edx
test eax, eax
je 0x36fdea6
push dword [esp + 0x18]
lea eax, [esp + 0x48]
push ecx
push 0x10112f18
sub esp, 0x10
mov ecx, esp
push eax
call fcn.03629340
push ecx
push 0x10113e78
push 0x1010dfe8
push 0
lea ecx, [esp + 0xbc]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
add esp, 4
mov ecx, eax
call fcn.0362c940
add esp, 4
mov ecx, eax
call fcn.0363c0c0
add esp, 4
mov ecx, eax
call fcn.0363c1b0
lea ecx, [esp + 0x90]
call fcn.0363bfe0
jmp 0x36fdea6
movzx eax, word [esp + 0x1d0]
mov ecx, dword [0x1011f360]
mov dword [esp + 0x18], eax
cmp eax, 0x10b
jne 0x36fdc76
mov eax, dword [ecx]
mov eax, dword [eax + 0xf8]
call eax
test eax, eax
je 0x36fda31
push 0x10113ec8
push 0x1010dfe8
push 4
lea ecx, [esp + 0xd8]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
lea ecx, [esp + 0xcc]
call fcn.0363bfe0
mov ecx, dword [esp + 0x30]
call fcn.0370d090
mov ecx, dword [0x1011f360]
test eax, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0xf8]
je 0x36fdc32
call eax
test eax, eax
je 0x36fda81
push 0x10113ef8
push 0x1010dfe8
push 4
lea ecx, [esp + 0x144]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
lea ecx, [esp + 0x138]
call fcn.0363bfe0
cmp dword [0x1011f61c], 0
mov ecx, dword [0x1011f360]
mov eax, dword [ecx]
je 0x36fdbf2
mov eax, dword [eax + 0x4c]
call eax
push eax
lea ecx, [esp + 0x78]
call fcn.03629310
mov ecx, dword [0x1011f360]
mov eax, dword [ecx]
mov eax, dword [eax + 0xf8]
call eax
test eax, eax
je 0x36fdae4
push 0x10113f38
push 0x1010dfe8
push 4
lea ecx, [esp + 0xf0]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
lea ecx, [esp + 0xe4]
call fcn.0363bfe0
mov ecx, dword [esp + 0x74]
call fcn.036c6240
mov ecx, dword [0x1011f360]
test eax, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0xf8]
je 0x36fdb66
call eax
test eax, eax
je 0x36fdb5c
push 0x10113fb0
sub esp, 0x10
lea eax, [esp + 0x88]
mov ecx, esp
push eax
call fcn.03629340
push ecx
push 0x10113f7c
push 0x1010dfe8
push 4
lea ecx, [esp + 0x144]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
add esp, 4
mov ecx, eax
call fcn.0362c940
add esp, 4
mov ecx, eax
call fcn.0362ee90
lea ecx, [esp + 0x120]
call fcn.0363bfe0
mov dword [esp + 0x1c], 0
jmp 0x36fdbcb
call eax
test eax, eax
je 0x36fdbc3
push 0x10114048
sub esp, 0x10
lea eax, [esp + 0x88]
mov ecx, esp
push eax
call fcn.03629340
push ecx
push 0x10114000
push 0x1010dfe8
push 1
lea ecx, [esp + 0x120]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
add esp, 4
mov ecx, eax
call fcn.0362c940
add esp, 4
mov ecx, eax
call fcn.0362ee90
lea ecx, [esp + 0xfc]
call fcn.0363bfe0
mov dword [esp + 0x1c], 1
lea ecx, [esp + 0x74]
call fcn.036231a0
cmp dword [esp + 0x1c], 0
je 0x36fdd25
mov edx, edi
lea ecx, [esp + 0x1b8]
call fcn.0370e3a0
jmp 0x36fdd33
mov eax, dword [eax + 0xf8]
call eax
test eax, eax
je 0x36fdd25
push 0x10114128
push 0x1010dfe8
push 4
lea ecx, [esp + 0x138]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
lea ecx, [esp + 0x12c]
call fcn.0363bfe0
jmp 0x36fdd25
call eax
test eax, eax
je 0x36fdc63
push 0x101141a8
push 0x1010dfe8
push 4
lea ecx, [esp + 0x120]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
lea ecx, [esp + 0x114]
call fcn.0363bfe0
mov edx, edi
lea ecx, [esp + 0x1b8]
call fcn.0370e3a0
jmp 0x36fdd33
cmp eax, 0x20b
mov eax, dword [ecx]
mov eax, dword [eax + 0xf8]
jne 0x36fdcbc
call eax
test eax, eax
je 0x36fdd25
push 0x10114228
push 0x1010dfe8
push 4
lea ecx, [esp + 0xa8]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
lea ecx, [esp + 0x9c]
call fcn.0363bfe0
jmp 0x36fdd25
call eax
test eax, eax
je 0x36fdd25
push 0x1011432c
push ecx
push dword [esp + 0x20]
lea ecx, [esp + 0x174]
call fcn.036231d0
push eax
push ecx
push 0x10114298
push 0x1010dfe8
push 1
lea ecx, [esp + 0xc4]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
add esp, 4
mov ecx, eax
call fcn.0363c1f0
add esp, 4
mov ecx, eax
call fcn.0363c0c0
lea ecx, [esp + 0xa8]
call fcn.0363bfe0
lea ecx, [esp + 0x168]
call fcn.03624240
mov edx, edi
lea ecx, [esp + 0x1b8]
call fcn.0370eb80
test eax, eax
jne 0x36fdd7f
mov ecx, dword [0x1011f360]
mov eax, dword [ecx]
mov eax, dword [eax + 0xf8]
call eax
test eax, eax
je 0x36fdea6
push 0x10114368
push 0x1010dfe8
push 0
lea ecx, [esp + 0xcc]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
lea ecx, [esp + 0xc0]
call fcn.0363bfe0
jmp 0x36fdea6
push ecx
push dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
mov eax, dword [ecx]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
mov eax, dword [eax]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
call eax
mov ecx, dword [esp + 0x58]
push eax
push edi
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
mov ecx, dword [esp + 0x58]
mov edx, edi
push eax
call fcn.036ff190
add esp, 0x2c
test eax, eax
je 0x36fddda
mov eax, dword [ebp + 0x28]
mov edx, edi
mov ecx, dword [eax]
call fcn.036f1f50
mov dword [esp + 0x1c], 1
jmp 0x36fdeae
lea ecx, [esp + 0x24]
call fcn.03629f00
lea ecx, [esp + 0x44]
call fcn.036231a0
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call dword [0x100f526c]
mov ecx, dword [0x1011f360]
mov dword [esp + 0x24], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xf8]
call edx
test eax, eax
je 0x36fdea6
push 0x10112f18
sub esp, 0xc
mov ecx, esp
push edi
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
call fcn.0362a210
push ecx
push 0x10113de8
push 0x1010dfe8
push 0
lea ecx, [esp + 0xf8]
call fcn.0363b9e0
mov ecx, eax
call fcn.0362ee90
add esp, 4
mov ecx, eax
call fcn.0362c940
mov ecx, eax
call fcn.0363c0c0
push dword [esp + 0x24]
mov edi, eax
lea eax, [esp + 0x3c4]
push 0x100f9404
push eax
call dword [0x100f5304]
add esp, 0xc
lea eax, [esp + 0x3c0]
mov ecx, edi
push eax
call fcn.0363c0c0
lea ecx, [esp + 0xd8]
call fcn.0363bfe0
mov edi, dword [esp + 0x44]
mov dword [esp + 0x1c], 0
test esi, esi
je 0x36fdebe
cmp esi, 0xffffffff
je 0x36fdebe
push esi
call dword [0x100f5250]
test edi, edi
je 0x36fdec9
mov ecx, edi
call fcn.03707920
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [0x1011f61c], 0
je 0x36fdfe4
mov ecx, esi
call fcn.03708e00
test eax, eax
je 0x36fdfd8
mov ecx, esi
call fcn.0370d090
test eax, eax
je 0x36fdfe4
mov ecx, dword [0x1011f360]
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
call eax
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
call fcn.0362a210
mov esi, dword [esp + 0x38]
push esi
call dword [0x100f514c]
cmp eax, 0xffffffff
je 0x36fdf41
xor edi, edi
jmp 0x36fdfb1
mov ecx, dword [0x1011f360]
mov eax, dword [ecx]
mov eax, dword [eax + 0xf8]
call eax
test eax, eax
je 0x36fdfac
push 0x101143e8
push ecx
push esi
push ecx
push 0x101143d4
push ecx
push 0x101143ac
push 0x100f7c84
push 2
lea ecx, [esp + 0x114]
call fcn.0363b9e0
mov ecx, eax
call fcn.0363c0c0
add esp, 4
mov ecx, eax
call fcn.0363c0c0
add esp, 4
mov ecx, eax
call fcn.0362ee90
add esp, 4
mov ecx, eax
call fcn.0363c0c0
lea ecx, [esp + 0xf0]
call fcn.0363bfe0
mov edi, 1
test esi, esi
je 0x36fdfd4
mov ecx, esi
call fcn.03707920
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
test edi, edi
jne 0x36fdfe4
mov edi, dword [esp + 0x20]
add edi, 0x5b8
jmp 0x36fdfee
mov edi, dword [esp + 0x20]
add edi, 0x598
push ecx
lea eax, [esp + 0x33]
mov ecx, edi
push eax
call fcn.03621390
test al, al
jne 0x36fe005
mov byte [esp + 0x17], al
jmp 0x36fe00d
inc dword [edi + 0x10]
mov byte [esp + 0x17], 1
mov dword [esp + 0x18], 0
call dword [0x100f5284]
mov esi, eax
lea eax, [edi + 8]
cmp esi, dword [eax]
je 0x36fe04b
cmp dword [eax], 0
jne 0x36fe14e
push 0
push esi
push eax
call dword [0x100f5280]
test eax, eax
sete al
test al, al
je 0x36fe14e
mov dword [edi + 0x10], 0
inc dword [edi + 0x10]
mov al, 1
mov esi, dword [edi + 0x18]
mov dword [esp + 0x1c], esi
test al, al
je 0x36fe091
dec dword [edi + 0x10]
jne 0x36fe091
push 0
lea eax, [edi + 8]
mov dword [edi + 0x10], 0
push eax
call dword [0x100f528c]
cmp dword [edi + 0xc], 0
lea eax, [edi + 0xc]
jle 0x36fe091
push eax
call dword [0x100f5290]
mov eax, dword [edi + 0x14]
push 0
push 1
push eax
call dword [0x100f5288]
test esi, esi
je 0x36fe30b
lea esp, [esp]
call dword [0x100f5284]
mov esi, eax
lea eax, [edi + 8]
cmp esi, dword [eax]
je 0x36fe0d6
cmp dword [eax], 0
jne 0x36fe164
push 0
push esi
push eax
call dword [0x100f5280]
test eax, eax
sete al
test al, al
je 0x36fe164
mov dword [edi + 0x10], 0
inc dword [edi + 0x10]
mov al, 1
mov ecx, dword [esp + 0x1c]
mov esi, ecx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x1c], ecx
test al, al
je 0x36fe122
dec dword [edi + 0x10]
jne 0x36fe122
push 0
lea eax, [edi + 8]
mov dword [edi + 0x10], 0
push eax
call dword [0x100f528c]
cmp dword [edi + 0xc], 0
lea eax, [edi + 0xc]
jle 0x36fe122
push eax
call dword [0x100f5290]
mov eax, dword [edi + 0x14]
push 0
push 1
push eax
call dword [0x100f5288]
mov ecx, dword [esi + 8]
mov dword [esp + 0x50], ecx
test ecx, ecx
jne 0x36fe17a
mov eax, 0x100
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.03707780
mov esi, eax
xor eax, eax
mov word [esi], ax
jmp 0x36fe1c8
push ecx
push esi
mov ecx, edi
call fcn.03621400
test al, al
jne 0x36fe04b
jmp 0x36fe050
push ecx
push esi
mov ecx, edi
call fcn.03621400
test al, al
jne 0x36fe0d6
jmp 0x36fe0db
xor edx, edx
xor esi, esi
mov eax, ecx
cmp dx, word [ecx]
je 0x36fe190
lea eax, [eax + 2]
xor ecx, ecx
inc esi
cmp cx, word [eax]
jne 0x36fe185
xor ecx, ecx
lea eax, [esi + 0x100]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.03707780
mov dword [esp + 0x28], eax
lea eax, [esi*2 + 2]
mov esi, dword [esp + 0x28]
push eax
push dword [esp + 0x54]
push esi
call fcn.037136d0
add esp, 0xc
push ecx
push dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
mov eax, dword [ecx]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
mov eax, dword [eax]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call eax
mov ecx, dword [esp + 0x58]
push eax
push esi
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
mov ecx, dword [esp + 0x58]
mov edx, esi
push eax
call fcn.036ff190
add esp, 0x2c
test eax, eax
jne 0x36fe37e
test esi, esi
je 0x36fe2ff
mov dword [esp + 0x84], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x54], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x80], 0x1011f690
mov dword [esp + 0x88], 0x1011f68c
movdqa xmm0, xmmword [esp + 0x80]
mov dword [esp + 0x58], 0xffffffff
movdqu xmmword [esp + 0x5c], xmm0
mov dword [esp + 0x6c], eax
call dword [0x100f5284]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
cmp eax, dword [ecx]
je 0x36fe2a0
mov ecx, dword [esp + 0x5c]
cmp dword [ecx], 0
jne 0x36fe366
push 0
push eax
push dword [esp + 0x64]
call dword [0x100f5280]
test eax, eax
sete al
test al, al
je 0x36fe362
mov eax, dword [esp + 0x64]
mov dword [eax], 0
mov eax, dword [esp + 0x64]
inc dword [eax]
mov al, 1
push esi
push 1
push dword [0x1011f2ec]
mov byte [esp + 0x7c], al
call dword [0x100f5100]
cmp byte [esp + 0x70], 0
je 0x36fe2ff
mov esi, dword [esp + 0x6c]
mov eax, dword [esi + 0x10]
dec dword [eax]
jne 0x36fe2ff
mov eax, dword [esi + 0x10]
push 0
mov dword [eax], 0
push dword [esi + 8]
call dword [0x100f528c]
cmp dword [esi + 0xc], 0
lea eax, [esi + 0xc]
jle 0x36fe2ff
push eax
call dword [0x100f5290]
mov eax, dword [esi + 0x14]
push 0
push 1
push eax
call dword [0x100f5288]
mov esi, dword [esp + 0x1c]
test esi, esi
jne 0x36fe0a0
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, 0xa
jl 0x36fe015
cmp byte [esp + 0x17], 0
je 0x36fe35a
dec dword [edi + 0x10]
jne 0x36fe35a
push 0
lea eax, [edi + 8]
mov dword [edi + 0x10], 0
push eax
call dword [0x100f528c]
cmp dword [edi + 0xc], 0
lea eax, [edi + 0xc]
jle 0x36fe35a
push eax
call dword [0x100f5290]
mov eax, dword [edi + 0x14]
push 0
push 1
push eax
call dword [0x100f5288]
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x5c]
call fcn.03703a20
test al, al
jne 0x36fe2a0
jmp 0x36fe2a8
test esi, esi
je 0x36fe389
mov ecx, esi
call fcn.03707920
cmp byte [esp + 0x17], 0
je 0x36fe3c6
dec dword [edi + 0x10]
jne 0x36fe3c6
push 0
lea eax, [edi + 8]
mov dword [edi + 0x10], 0
push eax
call dword [0x100f528c]
cmp dword [edi + 0xc], 0
lea eax, [edi + 0xc]
jle 0x36fe3c6
push eax
call dword [0x100f5290]
mov eax, dword [edi + 0x14]
push 0
push 1
push eax
call dword [0x100f5288]
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret