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

Disassembly:
sub esp, 0x6e0
mov edx, dword [esp + 0x6ec]
push ebx
mov ebx, ecx
mov dword [esp + 0x18], ebx
push ebp
push esi
push edi
test edx, edx
jne 0x36466f1
push 0x100f7c80
lea eax, [esp + 0x5c]
push eax
call dword [0x1011f448]
lea ecx, [esp + 0x58]
jmp 0x3646714
mov eax, dword [edx]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x30]
push 8
push eax
lea eax, [esp + 0x58]
push eax
call dword [0x1011f348]
lea ecx, [esp + 0x50]
mov eax, dword [ecx]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 4]
lea ecx, [ebx + 0x34]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x6f8]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0362ae90
mov edi, dword [esp + 0x28]
test edi, edi
je 0x3646979
mov esi, dword [edi + 0xc]
test esi, esi
je 0x364674f
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [edi]
push edi
call dword [eax + 0xc]
mov eax, dword [esi]
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
mov dword [esp + 0x14], 0
call dword [eax + 0xc]
test eax, eax
je 0x36467ad
mov edi, dword [esp + 0x6f4]
and eax, 0xefffffff
mov dword [edi], 0
mov dword [edi + 4], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x3646798
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x10], 0
mov ecx, dword [esi]
push esi
call dword [ecx + 8]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6e0
ret 0x1c
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
push edx
lea edx, [esp + 0x44]
mov eax, dword [ecx]
push edx
call dword [eax + 0x5c]
mov edi, eax
test edi, edi
jne 0x3646827
mov ecx, dword [esp + 0x14]
push dword [esp + 0x70c]
push dword [esp + 0x70c]
mov eax, dword [ecx]
push dword [esp + 0x70c]
call dword [eax + 0x30]
mov edi, dword [esp + 0x6f4]
mov dword [edi], 0
test eax, eax
jne 0x3646881
mov dword [edi + 4], 0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x3646782
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x14], 0
jmp 0x3646782
cmp edi, 1
jne 0x36468a0
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
lea ecx, [esp + 0x18]
call fcn.0364c320
mov ecx, dword [ebx + 0x2c]
lea edx, [esp + 0x14]
push edx
push dword [esp + 0x710]
lea edx, [esp + 0x48]
push dword [esp + 0x710]
mov eax, dword [ecx]
push dword [esp + 0x710]
push edx
push dword [esp + 0x24]
call dword [eax + 0x80]
test eax, eax
je 0x364688e
mov edi, dword [esp + 0x6f4]
mov dword [edi], 0
and eax, 0xefffffff
mov dword [edi + 4], eax
jmp 0x3646808
mov ecx, dword [esp + 0x10]
push dword [esp + 0x14]
mov eax, dword [ecx]
call dword [eax + 0x58]
jmp 0x36467ec
mov ecx, dword [0x1011f360]
mov eax, dword [ecx]
call dword [eax + 0xf8]
test eax, eax
je 0x3646922
push 0x10102b84
push ecx
push edi
lea ecx, [esp + 0x98]
call fcn.036231d0
push eax
push ecx
push 0x10103a04
push ecx
push 0x10103bcc
push 0x100f7c84
push 2
lea ecx, [esp + 0xa4]
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.0363c1f0
add esp, 4
mov ecx, eax
call fcn.0363c0c0
lea ecx, [esp + 0x80]
call fcn.0363bfe0
lea ecx, [esp + 0x8c]
call fcn.03624240
mov ebx, dword [esp + 0x6f4]
and edi, 0xefffffff
mov eax, dword [esp + 0x14]
mov dword [ebx], 0
mov dword [ebx + 4], edi
test eax, eax
je 0x364694e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x3646964
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x10], 0
mov ecx, dword [esi]
push esi
call dword [ecx + 8]
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6e0
ret 0x1c
xor eax, eax
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], eax
mov ecx, ebx
mov eax, dword [esp + 0x6f8]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x6c], 0x18
push eax
mov dword [esp + 0x7c], 0x40
mov dword [esp + 0x78], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
call fcn.03649780
test eax, eax
je 0x36469f3
mov esi, dword [esp + 0x6f4]
mov dword [esi], 0
mov dword [esi + 4], eax
jmp 0x36473fc
xor eax, eax
mov dword [esp + 0x2c4], 0
mov dword [esp + 0x2c0], eax
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x4c8], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x60]
push eax
push dword [ebx + 0x2c]
call fcn.036bbf80
test eax, eax
jne 0x36473dc
mov esi, dword [esp + 0x4c8]
test esi, esi
je 0x3646a51
mov eax, dword [esi]
push esi
call dword [eax + 4]
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
push esi
call fcn.03642550
test eax, eax
jne 0x3647387
mov eax, dword [esp + 0x2c]
dec eax
je 0x36471a1
dec eax
jne 0x364718b
xor ebp, ebp
mov edi, esi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], edi
test esi, esi
je 0x3646a92
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ebx, dword [esp + 0x4d4]
lea eax, [esp + 0x80]
push 0x100f7c80
push eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x30], ebp
call dword [0x1011f448]
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x4d0]
call fcn.036b7300
mov dword [esp + 0x4d4], ebx
test eax, eax
je 0x3646bf7
push 0x100f7c80
lea eax, [esp + 0x54]
push eax
call dword [0x1011f448]
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x4cc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x30]
push eax
call fcn.036b7300
mov ebx, dword [esp + 0x24]
test eax, eax
je 0x3646b7a
lea ecx, [ecx]
mov ecx, dword [ebx + 0x2c]
lea edx, [esp + 0x18]
push edx
push 0
push 0
mov dword [esp + 0x24], ebp
lea edx, [esp + 0x3c]
mov eax, dword [ecx]
push edx
push edi
call dword [eax + 0x7c]
test eax, eax
jne 0x3646e10
push dword [esp + 0x18]
lea ecx, [esp + 0x20]
push edi
call fcn.0364c7a0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
call fcn.0364c320
mov eax, dword [esp + 0x18]
test eax, eax
je 0x3646b5d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x4d0]
call fcn.036b7300
mov edi, dword [esp + 0x14]
test eax, eax
jne 0x3646b10
mov ebp, dword [esp + 0x1c]
lea eax, [esp + 0x48]
mov dword [esp + 0x48], 0
push eax
lea ecx, [esp + 0x14]
call fcn.0364c320
mov ecx, dword [ebx + 0x2c]
lea edx, [esp + 0x10]
push edx
push dword [esp + 0x710]
lea edx, [esp + 0x48]
push dword [esp + 0x710]
mov eax, dword [ecx]
push dword [esp + 0x710]
push edx
push edi
call dword [eax + 0x80]
test eax, eax
je 0x3646c6e
mov ebx, dword [esp + 0x6f4]
and eax, 0xefffffff
mov dword [ebx], 0
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x3646e45
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x10], 0
jmp 0x3646e45
mov eax, dword [esi]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call dword [eax + 0x5c]
mov ebx, eax
test ebx, ebx
jne 0x3646c1c
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], 1
jmp 0x3646c6e
cmp ebx, 1
jne 0x36470cd
mov eax, dword [esp + 0x10]
test eax, eax
je 0x3646c33
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, dword [esp + 0x24]
lea edx, [esp + 0x10]
push edx
push dword [esp + 0x710]
mov dword [esp + 0x18], ebp
lea edx, [esp + 0x48]
push dword [esp + 0x710]
mov ecx, dword [ebx + 0x2c]
push dword [esp + 0x710]
push edx
mov eax, dword [ecx]
push esi
call dword [eax + 0x80]
test eax, eax
jne 0x3647092
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], eax
test eax, eax
je 0x3646c87
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [esp + 0x3c]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x14], eax
test eax, eax
je 0x3646ca3
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
xor eax, eax
mov dword [esp + 0x4dc], 0
mov dword [esp + 0x4d8], eax
lea ecx, [esp + 0x4d8]
mov dword [esp + 0x6e0], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x58]
push eax
push dword [ebx + 0x2c]
call fcn.036bbf80
test eax, eax
jne 0x3647056
mov eax, dword [esp + 0x6e0]
mov dword [esp + 0x48], eax
test eax, eax
je 0x3646d05
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [esp + 0x14]
mov ecx, eax
push dword [esp + 0x48]
mov edx, dword [eax]
call dword [edx + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x3646d24
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp ebx, 1
jne 0x3646e94
mov ecx, dword [esp + 0x6e0]
test ecx, ecx
je 0x3646d49
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esp + 0x6e0], 0
mov ecx, dword [esp + 0x4dc]
lea eax, [esp + 0x4e0]
cmp eax, ecx
je 0x3646d60
call fcn.03707920
mov eax, dword [esp + 0x14]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx]
call dword [eax + 0x78]
mov eax, dword [esp + 0x3c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x3646d93
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x10], 0
test edi, edi
je 0x3646d9d
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x3646db3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esp + 0x20], 0
test ebp, ebp
je 0x3646dc6
mov eax, dword [ebp]
push ebp
call dword [eax + 8]
mov dword [esp + 0x1c], 0
test esi, esi
je 0x3646dd0
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov ecx, dword [esp + 0x4c8]
test ecx, ecx
je 0x3646dec
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esp + 0x4c8], 0
mov ecx, dword [esp + 0x2c4]
lea eax, [esp + 0x2c8]
mov ebx, dword [esp + 0x24]
cmp eax, ecx
je 0x36469f3
call fcn.03707920
jmp 0x36469f3
mov ebx, dword [esp + 0x6f4]
and eax, 0xefffffff
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [ebx], ebp
test eax, eax
je 0x3646e33
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x10]
test eax, eax
je 0x3646e45
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x10], ebp
test edi, edi
je 0x3646e4f
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [esp + 0x1c]
call fcn.03641d60
test esi, esi
je 0x3646e62
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [esp + 0x2c0]
call fcn.03641d30
mov ecx, dword [esp + 0xbc]
lea eax, [esp + 0xc0]
cmp eax, ecx
je 0x3646e85
call fcn.03707920
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6e0
ret 0x1c
test ebx, ebx
je 0x3646f3b
mov ebp, dword [esp + 0x6f4]
lea ecx, [esp + 0x4d8]
and ebx, 0xefffffff
mov dword [ebp], 0
mov dword [ebp + 4], ebx
call fcn.03641d30
mov eax, dword [esp + 0x14]
test eax, eax
je 0x3646ecd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x18]
call fcn.036bc140
mov eax, dword [esp + 0x10]
test eax, eax
je 0x3646eec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x10], 0
test edi, edi
je 0x3646ef6
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [esp + 0x1c]
call fcn.03641d60
test esi, esi
je 0x3646f09
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [esp + 0x2c0]
call fcn.03641d30
mov ecx, dword [esp + 0xbc]
lea eax, [esp + 0xc0]
cmp eax, ecx
je 0x3646f2c
call fcn.03707920
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6e0
ret 0x1c
cmp dword [esp + 0x28], 0
je 0x3646fa6
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x2c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x1c]
test eax, eax
je 0x3646f6e
mov ebx, dword [esp + 0x6f4]
and eax, 0xefffffff
mov dword [ebx], 0
mov dword [ebx + 4], eax
jmp 0x364706a
cmp dword [esp + 0x2c], 0
je 0x3646f84
mov ecx, dword [esp + 0x10]
push 0
mov eax, dword [ecx]
call dword [eax + 0x18]
test eax, eax
jne 0x3646f54
mov ecx, dword [esp + 0x10]
push dword [esp + 0x70c]
push dword [esp + 0x70c]
mov eax, dword [ecx]
push dword [esp + 0x70c]
call dword [eax + 0x30]
test eax, eax
jne 0x3646f54
mov eax, dword [edi]
mov ecx, edi
push dword [esp + 0x10]
call dword [eax + 0x58]
test eax, eax
je 0x364700c
mov ebx, dword [esp + 0x6f4]
lea ecx, [esp + 0x4d8]
and eax, 0xefffffff
mov dword [ebx], 0
mov dword [ebx + 4], eax
call fcn.03641d30
mov eax, dword [esp + 0x14]
test eax, eax
je 0x3646fe4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x18]
call fcn.036bc140
mov eax, dword [esp + 0x10]
test eax, eax
je 0x3646e49
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x10], 0
jmp 0x3646e49
test ebp, ebp
je 0x364701d
mov eax, dword [ebp]
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, ebp
call dword [eax + 0x44]
lea ecx, [esp + 0x4d8]
call fcn.03641d30
mov eax, dword [esp + 0x14]
test eax, eax
je 0x3647037
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x18]
call fcn.036bc140
mov ebx, dword [esp + 0x6f4]
mov dword [ebx], 0
mov dword [ebx + 4], 0
jmp 0x3646fed
mov ebx, dword [esp + 0x6f4]
mov dword [ebx], 1
mov dword [ebx + 4], 0
lea ecx, [esp + 0x4d8]
call fcn.03641d30
mov eax, dword [esp + 0x14]
test eax, eax
je 0x3647084
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x18]
call fcn.036bc140
jmp 0x3646bd8
mov edi, dword [esp + 0x6f4]
and eax, 0xefffffff
mov dword [edi + 4], eax
mov eax, dword [esp + 0x10]
mov dword [edi], ebp
test eax, eax
je 0x36470b5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x10], ebp
test esi, esi
je 0x36470bf
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [esp + 0x1c]
call fcn.03641d60
jmp 0x364739c
mov ecx, dword [0x1011f360]
mov eax, dword [ecx]
call dword [eax + 0xf8]
test eax, eax
je 0x364714f
push 0x10102b84
push ecx
push ebx
lea ecx, [esp + 0xb4]
call fcn.036231d0
push eax
push ecx
push 0x10103a04
push ecx
push 0x10103bcc
push 0x100f7c84
push 2
lea ecx, [esp + 0xc0]
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.0363c1f0
add esp, 4
mov ecx, eax
call fcn.0363c0c0
lea ecx, [esp + 0x9c]
call fcn.0363bfe0
lea ecx, [esp + 0xa8]
call fcn.03624240
mov edi, dword [esp + 0x6f4]
and ebx, 0xefffffff
mov eax, dword [esp + 0x10]
mov dword [edi], ebp
mov dword [edi + 4], ebx
test eax, eax
je 0x3647173
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x10], ebp
test esi, esi
je 0x364717d
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [esp + 0x1c]
call fcn.03641d60
jmp 0x364739c
mov edi, dword [esp + 0x6f4]
dec eax
je 0x36471b8
mov dword [edi + 4], 0xc0000229
jmp 0x3647396
lea ecx, [esp + 0x4cc]
call fcn.036b73b0
test eax, eax
je 0x36471ca
mov edi, dword [esp + 0x6f4]
mov dword [edi], 1
mov dword [edi + 4], 0
jmp 0x364739c
mov eax, dword [esi]
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x18], 0
push ecx
mov ecx, esi
call dword [eax + 0x5c]
mov edi, eax
test edi, edi
jne 0x36472b8
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x2c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x1c]
test eax, eax
je 0x3647233
mov edi, dword [esp + 0x6f4]
mov dword [edi], 0
and eax, 0xefffffff
mov dword [edi + 4], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x36473a0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x14], 0
jmp 0x36473a0
cmp dword [esp + 0x2c], 0
je 0x364727d
mov ecx, dword [esp + 0x14]
push 0
mov eax, dword [ecx]
call dword [eax + 0x18]
test eax, eax
je 0x364727d
mov edi, dword [esp + 0x6f4]
and eax, 0xefffffff
mov dword [edi + 4], eax
mov eax, dword [esp + 0x14]
mov dword [edi], 0
test eax, eax
je 0x36473a0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x14], 0
jmp 0x36473a0
mov ecx, dword [esp + 0x14]
push dword [esp + 0x70c]
push dword [esp + 0x70c]
mov eax, dword [ecx]
push dword [esp + 0x70c]
call dword [eax + 0x30]
mov edi, dword [esp + 0x6f4]
mov dword [edi], 0
test eax, eax
jne 0x364720c
mov dword [edi + 4], eax
jmp 0x3647214
cmp edi, 1
jne 0x36472d6
mov edi, dword [esp + 0x6f4]
mov dword [edi], 1
mov dword [edi + 4], 0
jmp 0x3647214
mov ecx, dword [0x1011f360]
mov eax, dword [ecx]
call dword [eax + 0xf8]
test eax, eax
je 0x3647352
push 0x10102b84
push ecx
push edi
lea ecx, [esp + 0x74]
call fcn.036231d0
push eax
push ecx
push 0x10103a04
push ecx
push 0x10103bcc
push 0x100f7c84
push 2
lea ecx, [esp + 0xb0]
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.0363c1f0
add esp, 4
mov ecx, eax
call fcn.0363c0c0
lea ecx, [esp + 0x8c]
call fcn.0363bfe0
lea ecx, [esp + 0x68]
call fcn.03624240
mov ebx, dword [esp + 0x6f4]
and edi, 0xefffffff
mov eax, dword [esp + 0x14]
mov dword [ebx], 0
mov dword [ebx + 4], edi
test eax, eax
je 0x3646e5c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x14], 0
jmp 0x3646e5c
mov edi, dword [esp + 0x6f4]
and eax, 0xefffffff
mov dword [edi + 4], eax
mov dword [edi], 0
test esi, esi
je 0x36473a6
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [esp + 0x2c0]
call fcn.03641d30
mov ecx, dword [esp + 0xbc]
lea eax, [esp + 0xc0]
cmp eax, ecx
je 0x364679e
call fcn.03707920
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6e0
ret 0x1c
mov esi, dword [esp + 0x6f4]
lea ecx, [esp + 0x2c0]
mov dword [esi], 1
mov dword [esi + 4], 0
call fcn.03641d30
mov ecx, dword [esp + 0xbc]
lea eax, [esp + 0xc0]
cmp eax, ecx
je 0x3647413
call fcn.03707920
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x6e0
ret 0x1c