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

Disassembly:
push 0x90
mov eax, 0x54d145
call fcn.005284a8
mov ebx, ecx
mov dword [ebp - 0x18], ebx
xor edi, edi
cmp dword [ebx + 0x15c], edi
jne 0x49fc36
cmp dword [ebx + 0x160], edi
jne 0x49fc36
cmp dword [ebx + 0x64], edi
jne 0x49f3b9
cmp dword [ebx + 0x9c], edi
jne 0x49f3b9
cmp dword [ebx + 0x80], edi
jne 0x49f3b9
cmp dword [ebx + 0xb8], edi
jne 0x49f3b9
cmp dword [ebx + 0x2c], edi
je 0x49fc36
xor eax, eax
lea ecx, [ebp - 0x9c]
inc eax
push 0xa
mov dword [0x5b9508], eax
mov dword [0x5b9510], eax
call fcn.00429c3e
mov eax, dword [ebx + 0x40]
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], eax
test eax, eax
je 0x49f43a
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x3c]
call fcn.0047ce1b
push dword [eax]
push 0x576340
call fcn.004166a7
pop ecx
pop ecx
test eax, eax
je 0x49f434
mov ecx, eax
call fcn.005092a5
push eax
push 0x5a5bc0
call fcn.004166a7
pop ecx
pop ecx
test eax, eax
je 0x49f434
mov ecx, dword [eax + 0x330]
test ecx, ecx
je 0x49f434
cmp dword [ecx + 0x114], edi
je 0x49f434
push eax
lea ecx, [ebp - 0x9c]
call fcn.0041d8fb
cmp dword [ebp - 0x10], 0
jne 0x49f3e0
mov esi, dword [ebp - 0x98]
jmp 0x49f470
mov eax, esi
test esi, esi
je 0x49f4d1
push dword [eax + 8]
mov esi, dword [esi]
push 0x5a5bc0
call fcn.004166a7
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 0x49f442
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x49f4af
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.0047ce1b
push dword [eax]
push 0x5a5bc0
call fcn.004166a7
pop ecx
pop ecx
test eax, eax
je 0x49f4a9
push dword [eax + 0x354]
mov ecx, eax
call fcn.004e0270
cmp dword [ebp - 0x10], 0
jne 0x49f47e
push 0xa
lea ecx, [ebp - 0x80]
call fcn.00429c3e
lea eax, [ebx + 0x90]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x80]
call fcn.00429d33
mov edi, dword [ebp - 0x7c]
jmp 0x49f50a
call fcn.0040adb0
mov eax, edi
test edi, edi
je 0x49f4d1
push dword [eax + 8]
mov edi, dword [edi]
push 0x5a5900
call fcn.004166a7
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.0040b9e9
mov edx, dword [esi]
mov ecx, esi
push ebx
call dword [edx + 0x1dc]
test edi, edi
jne 0x49f4d6
push 0xa
lea ecx, [ebp - 0x48]
call fcn.00429c3e
mov eax, dword [ebx + 0x24]
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], eax
test eax, eax
je 0x49f5fe
lea eax, [ebx + 0x20]
mov ebx, eax
lea eax, [ebp - 0x10]
mov ecx, ebx
push eax
call fcn.0047ce1b
push 0x56ac7c
mov esi, dword [eax]
mov ecx, esi
mov dword [ebp - 0x14], esi
call fcn.0041673d
test eax, eax
je 0x49f56f
push esi
push 0x56ac7c
call fcn.004166a7
pop ecx
pop ecx
add eax, 0x110
lea ecx, [ebp - 0x48]
push eax
call fcn.00429d33
jmp 0x49f5f1
push 0x55e114
mov ecx, esi
call fcn.0041673d
test eax, eax
je 0x49f5f1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1cc]
test eax, eax
je 0x49f598
push esi
lea ecx, [ebp - 0x48]
call fcn.0041d8fb
jmp 0x49f5f1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b0]
test eax, eax
je 0x49f5f1
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 0x49f52f
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x49f656
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0xc8]
call fcn.0047ce1b
push dword [eax]
push 0x5a5900
call fcn.004166a7
pop ecx
pop ecx
test eax, eax
je 0x49f650
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1a8]
push eax
push 0x55ed4c
call fcn.004166a7
pop ecx
pop ecx
test eax, eax
je 0x49f650
push eax
lea ecx, [ebp - 0x48]
call fcn.0041d8fb
cmp dword [ebp - 0x10], 0
jne 0x49f60b
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x49f701
mov edi, esi
test esi, esi
je 0x49f4d1
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 0x49f6b5
push 0x569f38
mov ecx, edi
call fcn.0041673d
test eax, eax
jne 0x49f6b5
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 0x49f661
mov esi, dword [ebp - 0x44]
jmp 0x49f6fd
mov edi, esi
test esi, esi
je 0x49f4d1
mov edi, dword [edi + 8]
mov ecx, edi
mov esi, dword [esi]
mov eax, dword [edi]
call dword [eax + 0x1b0]
test eax, eax
je 0x49f6fd
push 0x5a5bc0
mov ecx, edi
call fcn.0041673d
test eax, eax
jne 0x49f6fd
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0x2b8]
mov ecx, edi
call fcn.00448583
test esi, esi
jne 0x49f6be
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x49f983
lea eax, [ebx + 0x58]
lea ecx, [ebp - 0x10]
push ecx
mov ecx, eax
call fcn.0047ce1b
mov edi, dword [eax]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x16c]
test eax, eax
je 0x49f78a
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0040db15
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0040db15
push dword [ebx + 0xe4]
mov ecx, edi
mov esi, eax
call fcn.00427054
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x3c0]
push 0x5a5bc0
mov ecx, edi
call fcn.0041673d
test eax, eax
je 0x49f781
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1f0]
push 5
mov ecx, edi
call fcn.0040ba69
mov eax, dword [edi]
xor esi, esi
push esi
mov ecx, edi
call dword [eax + 0x228]
test eax, eax
je 0x49f7a8
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.00427054
mov esi, 0x5a5bc0
mov ecx, edi
push esi
call fcn.0041673d
test eax, eax
je 0x49f976
push edi
push esi
call fcn.004166a7
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.0040ba69
mov ecx, edi
call fcn.004ddcb0
mov esi, eax
mov dword [ebp - 0x14], esi
test esi, esi
je 0x49f85b
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 0x569f38
mov ecx, edi
call fcn.0041673d
test eax, eax
je 0x49f976
and dword [ebp - 0x18], 0
test esi, esi
je 0x49f976
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
push edi
call fcn.0050927a
push edi
mov ecx, eax
call fcn.00506bde
test eax, eax
je 0x49f952
mov ecx, dword [eax + 4]
jmp 0x49f94a
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 0x5a5bc0
call fcn.004166a7
mov esi, eax
mov dword [ebp - 0x14], esi
pop ecx
pop ecx
test esi, esi
je 0x49f947
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x16c]
test eax, eax
je 0x49f914
push dword [esi + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push eax
call fcn.0040db15
push dword [eax + 0x20]
call esi
push eax
call fcn.0040db15
push dword [ebx + 0xe4]
mov ecx, dword [ebp - 0x14]
mov esi, eax
call fcn.00427054
mov edx, dword [esi]
mov ecx, esi
push dword [ebp - 0x14]
call dword [edx + 0x3c0]
mov esi, dword [ebp - 0x14]
jmp 0x49f937
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1dc]
test eax, eax
je 0x49f937
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 0x49f89f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3a4]
test eax, eax
je 0x49f976
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 0x49f712
lea ecx, [ebx + 0x58]
push ecx
lea ecx, [ebx + 0x20]
call fcn.00429d33
and dword [0x5b9510], 0
mov ecx, ebx
mov eax, dword [ebx]
push 0
call dword [eax + 0x38]
mov eax, dword [ebx + 0xb0]
jmp 0x49fada
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 0x5a5bc0
call fcn.004166a7
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x49fad7
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x170]
test eax, eax
mov eax, dword [edi]
jne 0x49fa5b
mov ecx, edi
call dword [eax + 0x1dc]
test eax, eax
mov ecx, edi
mov eax, dword [edi]
je 0x49fa0a
push 1
push 0
push 0xf000
push 0
call dword [eax + 0x368]
jmp 0x49fa6f
call dword [eax + 0x16c]
test eax, eax
je 0x49fa59
push dword [edi + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push eax
call fcn.0040db15
push dword [eax + 0x20]
call esi
push eax
call fcn.0040db15
push dword [ebx + 0xe4]
mov ecx, edi
mov esi, eax
call fcn.00427054
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 0x49fad7
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 0x49f9aa
mov esi, dword [ebx + 0xb0]
jmp 0x49fb13
lea edi, [esi]
mov esi, dword [esi]
mov ecx, dword [edi + 0x4c]
test ecx, ecx
je 0x49fb13
mov eax, dword [ecx]
call dword [eax + 0x36c]
test eax, eax
je 0x49fb13
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 0x49faea
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x49fb51
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x74]
call fcn.0047ce1b
push dword [eax]
push 0x569f38
call fcn.004166a7
pop ecx
pop ecx
test eax, eax
je 0x49fb4b
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x3d4]
cmp dword [ebp - 0x10], 0
jne 0x49fb21
push 0xa
lea ecx, [ebp - 0x64]
call fcn.00429c3e
lea eax, [ebx + 0x20]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x64]
call fcn.00429d33
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x49fbe8
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x64]
call fcn.00429de5
mov esi, dword [eax]
push esi
push 0x576340
call fcn.004166a7
pop ecx
pop ecx
test eax, eax
je 0x49fba0
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2a0]
jmp 0x49fbe2
push esi
push 0x569f38
call fcn.004166a7
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x49fbe2
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x3a4]
test eax, eax
jne 0x49fbe2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1cc]
test eax, eax
je 0x49fbe2
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 0x49fb75
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax + 0x34]
lea ecx, [ebx + 0x58]
call fcn.0041d986
lea ecx, [ebx + 0x90]
call fcn.0041d986
lea ecx, [ebx + 0x74]
call fcn.0041d986
and dword [0x5b9508], 0
lea ecx, [ebp - 0x64]
call fcn.00429c64
lea ecx, [ebp - 0x48]
call fcn.00429c64
lea ecx, [ebp - 0x80]
call fcn.00429c64
lea ecx, [ebp - 0x9c]
call fcn.00429c64
call fcn.00528471
ret