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

Disassembly:
push 0x90
mov eax, 0x10146650
call fcn.1012377a
mov ebx, ecx
mov dword [ebp - 0x18], ebx
xor edi, edi
cmp dword [ebx + 0x15c], edi
jne 0x10096d6e
cmp dword [ebx + 0x160], edi
jne 0x10096d6e
cmp dword [ebx + 0x64], edi
jne 0x100964f1
cmp dword [ebx + 0x9c], edi
jne 0x100964f1
cmp dword [ebx + 0x80], edi
jne 0x100964f1
cmp dword [ebx + 0xb8], edi
jne 0x100964f1
cmp dword [ebx + 0x2c], edi
je 0x10096d6e
xor eax, eax
lea ecx, [ebp - 0x9c]
inc eax
push 0xa
mov dword [0x101a41b0], eax
mov dword [0x101a41b8], eax
call fcn.100173af
mov eax, dword [ebx + 0x40]
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], eax
test eax, eax
je 0x10096572
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x3c]
call fcn.10011732
push dword [eax]
push 0x10172248
call fcn.10008cd2
pop ecx
pop ecx
test eax, eax
je 0x1009656c
mov ecx, eax
call fcn.10102cfc
push eax
push 0x1019bb9c
call fcn.10008cd2
pop ecx
pop ecx
test eax, eax
je 0x1009656c
mov ecx, dword [eax + 0x330]
test ecx, ecx
je 0x1009656c
cmp dword [ecx + 0x114], edi
je 0x1009656c
push eax
lea ecx, [ebp - 0x9c]
call fcn.10016e86
cmp dword [ebp - 0x10], 0
jne 0x10096518
mov esi, dword [ebp - 0x98]
jmp 0x100965a8
mov eax, esi
test esi, esi
je 0x10096609
push dword [eax + 8]
mov esi, dword [esi]
push 0x1019bb9c
call fcn.10008cd2
pop ecx
pop ecx
push 1
mov edx, dword [eax]
mov ecx, eax
push edi
push 0xf000
push edi
call dword [edx + 0x368]
test esi, esi
jne 0x1009657a
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x100965e7
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.10011732
push dword [eax]
push 0x1019bb9c
call fcn.10008cd2
pop ecx
pop ecx
test eax, eax
je 0x100965e1
push dword [eax + 0x354]
mov ecx, eax
call fcn.100d7671
cmp dword [ebp - 0x10], 0
jne 0x100965b6
push 0xa
lea ecx, [ebp - 0x80]
call fcn.100173af
lea eax, [ebx + 0x90]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x80]
call fcn.100174a4
mov edi, dword [ebp - 0x7c]
jmp 0x10096642
call fcn.10004bd5
mov eax, edi
test edi, edi
je 0x10096609
push dword [eax + 8]
mov edi, dword [edi]
push 0x1019b8dc
call fcn.10008cd2
pop ecx
pop ecx
push 0x37
mov esi, eax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
mov ecx, esi
call fcn.10015fbe
mov edx, dword [esi]
mov ecx, esi
push ebx
call dword [edx + 0x1dc]
test edi, edi
jne 0x1009660e
push 0xa
lea ecx, [ebp - 0x48]
call fcn.100173af
mov eax, dword [ebx + 0x24]
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], eax
test eax, eax
je 0x10096736
lea eax, [ebx + 0x20]
mov ebx, eax
lea eax, [ebp - 0x10]
mov ecx, ebx
push eax
call fcn.10011732
push 0x10166484
mov esi, dword [eax]
mov ecx, esi
mov dword [ebp - 0x14], esi
call fcn.10008d68
test eax, eax
je 0x100966a7
push esi
push 0x10166484
call fcn.10008cd2
pop ecx
pop ecx
add eax, 0x110
lea ecx, [ebp - 0x48]
push eax
call fcn.100174a4
jmp 0x10096729
push 0x101588a4
mov ecx, esi
call fcn.10008d68
test eax, eax
je 0x10096729
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1cc]
test eax, eax
je 0x100966d0
push esi
lea ecx, [ebp - 0x48]
call fcn.10016e86
jmp 0x10096729
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b0]
test eax, eax
je 0x10096729
add esi, 0x298
lea edi, [ebp - 0x2c]
push 0
push 0x34
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x14]
mov ecx, edi
push eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
mov edx, dword [edi]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push 0
call dword [edx + 0x238]
mov esi, dword [edi]
mov ecx, edi
push 0
push 1
call dword [esi + 0x1ac]
push eax
mov ecx, edi
call dword [esi + 0x224]
cmp dword [ebp - 0x10], 0
jne 0x10096667
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x1009678e
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0xc8]
call fcn.10011732
push dword [eax]
push 0x1019b8dc
call fcn.10008cd2
pop ecx
pop ecx
test eax, eax
je 0x10096788
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1a8]
push eax
push 0x10159508
call fcn.10008cd2
pop ecx
pop ecx
test eax, eax
je 0x10096788
push eax
lea ecx, [ebp - 0x48]
call fcn.10016e86
cmp dword [ebp - 0x10], 0
jne 0x10096743
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x10096839
mov edi, esi
test esi, esi
je 0x10096609
mov edi, dword [edi + 8]
mov ecx, edi
mov esi, dword [esi]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], edi
mov eax, dword [edi]
call dword [eax + 0x1b0]
test eax, eax
je 0x100967ed
push 0x10165740
mov ecx, edi
call fcn.10008d68
test eax, eax
jne 0x100967ed
mov eax, dword [edi]
lea esi, [edi + 0x1e8]
mov ecx, dword [ebp - 0x18]
push 0
push 3
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x1fc]
mov esi, dword [ebp - 0x14]
test esi, esi
jne 0x10096799
mov esi, dword [ebp - 0x44]
jmp 0x10096835
mov edi, esi
test esi, esi
je 0x10096609
mov edi, dword [edi + 8]
mov ecx, edi
mov esi, dword [esi]
mov eax, dword [edi]
call dword [eax + 0x1b0]
test eax, eax
je 0x10096835
push 0x1019bb9c
mov ecx, edi
call fcn.10008d68
test eax, eax
jne 0x10096835
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0x2b8]
mov ecx, edi
call fcn.1003b15e
test esi, esi
jne 0x100967f6
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x10096abb
lea eax, [ebx + 0x58]
lea ecx, [ebp - 0x10]
push ecx
mov ecx, eax
call fcn.10011732
mov edi, dword [eax]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x16c]
test eax, eax
je 0x100968c2
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.100114f7
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.100114f7
push dword [ebx + 0xe4]
mov ecx, edi
mov esi, eax
call fcn.1003af20
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x3c0]
push 0x1019bb9c
mov ecx, edi
call fcn.10008d68
test eax, eax
je 0x100968b9
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1f0]
push 5
mov ecx, edi
call fcn.1001603e
mov eax, dword [edi]
xor esi, esi
push esi
mov ecx, edi
call dword [eax + 0x228]
test eax, eax
je 0x100968e0
mov edx, dword [eax]
mov ecx, eax
push esi
push esi
push edi
call dword [edx + 0x17c]
push dword [ebx + 0xe4]
mov ecx, edi
call fcn.1003af20
mov esi, 0x1019bb9c
mov ecx, edi
push esi
call fcn.10008d68
test eax, eax
je 0x10096aae
push edi
push esi
call fcn.10008cd2
lea edi, [ebp - 0x2c]
mov dword [ebp - 0x18], eax
pop ecx
pop ecx
lea esi, [eax + 0x298]
movsd dword es:[edi], dword [esi]
push 0
push 0x34
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
mov ecx, edi
push eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
mov edx, dword [edi]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push 0
call dword [edx + 0x238]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1ac]
xor ecx, ecx
mov dword [ebp - 0x18], eax
test eax, eax
setne cl
push ecx
mov ecx, edi
call fcn.1001603e
mov ecx, edi
call fcn.100d50d5
mov esi, eax
mov dword [ebp - 0x14], esi
test esi, esi
je 0x10096993
mov esi, dword [edi]
mov ecx, eax
mov edx, dword [ecx]
call dword [edx + 0x194]
push eax
mov ecx, edi
call dword [esi + 0x1e0]
mov esi, dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x18]
push edi
mov eax, dword [esi]
call dword [eax + 0x294]
push 0x10165740
mov ecx, edi
call fcn.10008d68
test eax, eax
je 0x10096aae
and dword [ebp - 0x18], 0
test esi, esi
je 0x10096aae
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
push edi
call fcn.10102cd1
push edi
mov ecx, eax
call fcn.10100668
test eax, eax
je 0x10096a8a
mov ecx, dword [eax + 4]
jmp 0x10096a82
mov edx, dword [ebx]
lea eax, [ecx]
mov ecx, dword [ecx]
push 1
push dword [eax + 8]
mov dword [ebp - 0x1c], ecx
mov ecx, ebx
call dword [edx + 0x24]
push eax
push 0x1019bb9c
call fcn.10008cd2
mov esi, eax
mov dword [ebp - 0x14], esi
pop ecx
pop ecx
test esi, esi
je 0x10096a7f
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x16c]
test eax, eax
je 0x10096a4c
push dword [esi + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push eax
call fcn.100114f7
push dword [eax + 0x20]
call esi
push eax
call fcn.100114f7
push dword [ebx + 0xe4]
mov ecx, dword [ebp - 0x14]
mov esi, eax
call fcn.1003af20
mov edx, dword [esi]
mov ecx, esi
push dword [ebp - 0x14]
call dword [edx + 0x3c0]
mov esi, dword [ebp - 0x14]
jmp 0x10096a6f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1dc]
test eax, eax
je 0x10096a6f
mov eax, dword [esi]
mov ecx, esi
push 1
push 0
push 0xf000
push 0
call dword [eax + 0x368]
mov eax, dword [esi]
xor ecx, ecx
push ecx
push ecx
push ecx
push edi
mov ecx, esi
call dword [eax + 0x34c]
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x100969d7
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3a4]
test eax, eax
je 0x10096aae
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x3d4]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x210]
cmp dword [ebp - 0x10], 0
lea eax, [ebx + 0x58]
jne 0x1009684a
lea ecx, [ebx + 0x58]
push ecx
lea ecx, [ebx + 0x20]
call fcn.100174a4
and dword [0x101a41b8], 0
mov ecx, ebx
mov eax, dword [ebx]
push 0
call dword [eax + 0x38]
mov eax, dword [ebx + 0xb0]
jmp 0x10096c12
mov esi, eax
mov ecx, ebx
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx]
push 1
push dword [esi + 8]
mov dword [ebp - 0x1c], esi
call dword [eax + 0x24]
push eax
push 0x1019bb9c
call fcn.10008cd2
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x10096c0f
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x170]
test eax, eax
mov eax, dword [edi]
jne 0x10096b93
mov ecx, edi
call dword [eax + 0x1dc]
test eax, eax
mov ecx, edi
mov eax, dword [edi]
je 0x10096b42
push 1
push 0
push 0xf000
push 0
call dword [eax + 0x368]
jmp 0x10096ba7
call dword [eax + 0x16c]
test eax, eax
je 0x10096b91
push dword [edi + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push eax
call fcn.100114f7
push dword [eax + 0x20]
call esi
push eax
call fcn.100114f7
push dword [ebx + 0xe4]
mov ecx, edi
mov esi, eax
call fcn.1003af20
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x3c0]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1f0]
mov esi, dword [ebp - 0x1c]
mov eax, dword [edi]
xor ecx, ecx
push ecx
push 0xffffffffffffffff
push ecx
push 1
push ecx
push dword [esi + 0xc]
mov ecx, edi
call dword [eax + 0x200]
mov eax, dword [esi + 0x20]
mov ecx, edi
sub eax, dword [esi + 0x18]
mov edx, dword [edi]
push 0
push 0x14
push eax
mov eax, dword [esi + 0x1c]
sub eax, dword [esi + 0x14]
push eax
push dword [esi + 0x18]
push dword [esi + 0x14]
push 0
call dword [edx + 0x238]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
push dword [esi + 0xc]
push 1
call dword [eax + 0x368]
test eax, eax
je 0x10096c0f
mov ecx, dword [esi + 0x48]
mov dword [eax + 0x11c], ecx
mov ecx, dword [esi + 0x40]
mov dword [eax + 0x114], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x118], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x4c], edi
mov eax, dword [edi + 0x330]
mov dword [eax + 0x84], ecx
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x10096ae2
mov esi, dword [ebx + 0xb0]
jmp 0x10096c4b
lea edi, [esi]
mov esi, dword [esi]
mov ecx, dword [edi + 0x4c]
test ecx, ecx
je 0x10096c4b
mov eax, dword [ecx]
call dword [eax + 0x36c]
test eax, eax
je 0x10096c4b
mov ecx, dword [edi + 0x4c]
push 0
push 0
push dword [edi + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x224]
test esi, esi
jne 0x10096c22
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x10096c89
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x74]
call fcn.10011732
push dword [eax]
push 0x10165740
call fcn.10008cd2
pop ecx
pop ecx
test eax, eax
je 0x10096c83
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x3d4]
cmp dword [ebp - 0x10], 0
jne 0x10096c59
push 0xa
lea ecx, [ebp - 0x64]
call fcn.100173af
lea eax, [ebx + 0x20]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x64]
call fcn.100174a4
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x10096d20
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x64]
call fcn.1001752d
mov esi, dword [eax]
push esi
push 0x10172248
call fcn.10008cd2
pop ecx
pop ecx
test eax, eax
je 0x10096cd8
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2a0]
jmp 0x10096d1a
push esi
push 0x10165740
call fcn.10008cd2
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x10096d1a
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x3a4]
test eax, eax
jne 0x10096d1a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1cc]
test eax, eax
je 0x10096d1a
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0x240]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x60]
cmp dword [ebp - 0x10], 0
jne 0x10096cad
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax + 0x34]
lea ecx, [ebx + 0x58]
call fcn.100175cb
lea ecx, [ebx + 0x90]
call fcn.100175cb
lea ecx, [ebx + 0x74]
call fcn.100175cb
and dword [0x101a41b0], 0
lea ecx, [ebp - 0x64]
call fcn.100173d5
lea ecx, [ebp - 0x48]
call fcn.100173d5
lea ecx, [ebp - 0x80]
call fcn.100173d5
lea ecx, [ebp - 0x9c]
call fcn.100173d5
call fcn.10123743
ret