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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc6c
mov eax, dword [0x63f7dc]
push ebx
xor ebx, ebx
cmp eax, ebx
push esi
push edi
jne 0x5275d2
mov esi, dword [ebp + 0xc]
cmp esi, ebx
mov dword [0x63f7dc], 1
je 0x52758f
cmp byte [esi], 0
je 0x52758f
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5268b1
sub eax, edx
cmp eax, 0x3b5
jbe 0x5268c7
mov byte [esi + 0x3b5], cl
mov ecx, dword [ebp + 8]
push ebx
lea eax, [esp + 0x5c]
push eax
push ecx
call fcn.00584d10
mov edi, eax
add esp, 0xc
cmp edi, ebx
mov dword [esp + 0x10], edi
je 0x52758f
mov edx, dword [edi + 0xbf4]
push edx
call fcn.00502a60
add esp, 4
test eax, eax
je 0x52758f
mov eax, dword [edi + 0x71c]
add eax, 0xfffffffd
cmp eax, 6
ja case.0x526913.5
movzx eax, byte [eax + 0x5275e8]
jmp dword [eax*4 + 0x5275dc]
mov ecx, dword [edi + 0xbf4]
mov eax, dword [ecx]
push ebx
lea edx, [esp + 0x5c]
push edx
jmp 0x526949
cmp dword [edi + 0x754], ebx
jne 0x52693b
cmp dword [edi + 0x720], 1
jne case.0x526913.5
mov eax, dword [edi + 0xbf4]
mov eax, dword [eax]
push ebx
lea ecx, [esp + 0x5c]
push ecx
push eax
mov dword [ebp + 8], eax
call fcn.00584d10
mov edi, eax
add esp, 0xc
cmp edi, ebx
mov dword [esp + 0x10], edi
je 0x52758f
cmp dword [edi + 0x87c], ebx
je 0x52758f
mov eax, dword [edi + 0x6cc]
cmp eax, ebx
je 0x5269b1
cmp dword [eax + 0x44], ebx
je 0x5269b1
push 0x63e254
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x5269b1
mov edx, dword [edi + 0x6cc]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax]
push 0x63e254
push ecx
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x52758f
cmp dword [0x644938], ebx
jne 0x5269c9
cmp dword [0x644934], ebx
je 0x526a05
cmp dword [0x63f7c8], ebx
je 0x526a05
mov eax, dword [edi + 0x760]
test eax, eax
mov ebx, 1
je 0x5269dd
mov ebx, 5
lea edx, [esp + 0x88]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5269e8
lea edx, [esp + 0x88]
push ebx
push edx
call fcn.005760f0
add esp, 8
xor ebx, ebx
cmp dword [0x6370b4], ebx
mov dword [esp + 0x54], ebx
je 0x526c06
mov eax, dword [0x63f7b8]
cmp eax, ebx
je 0x526c06
mov ecx, dword [0x63f7b4]
mov edx, dword [0x63f7bc]
mov edi, dword [0x63f7ac]
mov ebx, dword [0x63f7b0]
mov dword [esp + 0x48], ecx
mov ecx, dword [0x609e1c]
mov dword [esp + 0x40], eax
mov eax, dword [0x63f7c0]
mov dword [esp + 0x44], ecx
mov ecx, dword [0x63f7cc]
mov dword [esp + 0x38], edx
mov edx, dword [0x63f7c4]
mov dword [esp + 0x4c], eax
mov eax, dword [0x63f7c8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], edx
mov edx, dword [0x63f7d0]
lea ecx, [esp + 0x88]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edx
mov eax, esi
sub ecx, esi
jmp 0x526a90
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x526a90
mov ecx, dword [ebp + 8]
push 0
lea eax, [esp + 0x8c]
push eax
push ecx
call fcn.004a35a0
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
mov esi, eax
mov eax, dword [esp + 0x4c]
mov dword [0x63f7b4], edx
mov edx, dword [esp + 0x58]
mov dword [0x63f7b8], eax
mov eax, dword [esp + 0x50]
mov dword [0x63f7bc], ecx
mov ecx, dword [esp + 0x40]
mov dword [0x63f7c0], edx
mov edx, dword [esp + 0x38]
mov dword [0x609e1c], eax
mov eax, dword [esp + 0x30]
mov dword [0x63f7c4], ecx
mov ecx, dword [esp + 0x20]
add esp, 0xc
test esi, esi
mov dword [0x63f7ac], edi
mov dword [0x63f7b0], ebx
mov dword [0x63f7c8], edx
mov dword [0x63f7cc], eax
mov dword [0x63f7d0], ecx
je 0x526bfd
mov eax, dword [esi + 8]
test eax, eax
je 0x526b31
mov edx, dword [ebp + 8]
push esi
push edx
call fcn.004962e0
add esp, 8
mov eax, dword [esi + 0x14]
cmp eax, 1
jne 0x526b45
push 0
call fcn.00421c80
add esp, 4
jmp 0x526b63
cmp eax, 2
jne 0x526b63
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xbf4]
push ecx
lea edx, [esi + 0x28]
push 1
push edx
call fcn.0054c790
add esp, 0xc
mov eax, dword [esi + 4]
test eax, eax
jle 0x526b6e
dec eax
mov dword [ebp + 0x10], eax
mov eax, dword [esi + 0x20]
test eax, eax
je 0x526beb
call fcn.004a3560
mov ebx, eax
test ebx, ebx
je 0x526beb
xor eax, eax
mov ecx, 0x202
lea edi, [esp + 0x470]
rep stosd dword es:[edi], eax
lea eax, [esi + 0x12c]
push eax
lea ecx, [esp + 0x4a0]
push 0x3e7
push ecx
call fcn.00423900
mov edx, dword [ebx + 4]
push edx
lea eax, [esp + 0x893]
push 0x3e7
push eax
call fcn.00423900
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x24]
mov edx, dword [eax]
push edx
mov edx, dword [eax + 0xbf4]
mov dword [esp + 0xc88], ecx
lea ecx, [esp + 0x48c]
push ecx
push edx
push 0x32
push 0
call fcn.0056d820
add esp, 0x2c
mov dword [0x63f7b4], 0
mov dword [esp + 0x54], 1
mov edi, dword [esp + 0x10]
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov eax, dword [edi + 0x87c]
push eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x38], ebx
call dword [sym.imp.USER32.dll_GetDC]
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x52758f
mov ecx, dword [edi + 0x988]
push ecx
mov edx, eax
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x40], eax
cmp dword [edi + 0xde4], ebx
je 0x526c59
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], ebx
jmp 0x526c8c
cmp dword [0x60a514], ebx
jne 0x526c69
cmp dword [edi + 0xa08], ebx
je 0x526c7f
push esi
call fcn.0057ab30
add esp, 4
cmp eax, 2
mov dword [esp + 0x30], 1
je 0x526c83
mov dword [esp + 0x30], ebx
mov eax, dword [0x642ee4]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], ebx
mov dword [esp + 0x38], 0xffffffff
je 0x526cb2
mov ecx, dword [edi + 0x9f8]
mov edx, dword [esp + 0x18]
push ecx
push edx
call fcn.0049a850
add esp, 8
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
push eax
call fcn.00522d40
mov ecx, dword [edi + 0x710]
mov dword [esp + 0x74], eax
mov eax, dword [edi + 0x714]
add esp, 4
sub ecx, eax
jne 0x526cdb
mov dword [esp + 0x34], 1
mov eax, dword [0x63f7a4]
inc eax
cmp eax, 0x2328
mov dword [0x63f7a4], eax
jle 0x526cf7
mov dword [0x63f7a4], 1
mov eax, esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x1c], ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x526d08
sub eax, edx
mov edx, dword [0x63f7b0]
add eax, esi
cmp edx, 0x104
mov dword [esp + 0x2c], eax
jle 0x526d30
mov edx, 0x104
mov dword [0x63f7b0], edx
cmp esi, eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x7c], ebx
jae 0x52736d
jmp 0x526d50
xor eax, eax
mov ecx, 0xf9
lea edi, [esp + 0x88]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x526df5
mov eax, dword [0x63f7bc]
test eax, eax
je 0x526e1d
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x744]
cmp eax, 1
je 0x526da1
cmp eax, 2
jne 0x526e1d
mov eax, dword [0x63e7b4]
test eax, eax
je 0x526e1d
lea eax, [esp + 0x88]
push 1
push eax
call fcn.0055c730
mov al, byte [esp + 0x90]
add esp, 8
test al, al
je 0x526e1d
lea edi, [esp + 0x88]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x526dc6
mov cx, word [0x5e7420]
lea eax, [esp + 0x88]
mov word [edi], cx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x526de2
sub eax, edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1c], eax
jmp 0x526e1d
test edx, edx
jle 0x526e1d
mov ecx, edx
mov esi, ecx
shr ecx, 2
mov eax, 0x20202020
lea edi, [esp + 0x88]
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov byte [esp + edx + 0x88], 0
mov edx, dword [ebp + 0xc]
push edx
lea eax, [esp + 0x8c]
push 0x3e7
push eax
call fcn.00423970
lea eax, [esp + 0x94]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x526e40
mov esi, dword [0x63f7ac]
sub eax, edx
mov edi, eax
xor eax, eax
cmp esi, eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x84], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x50], eax
jg 0x526f4e
push eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x988]
push ecx
mov ecx, dword [eax + 0x9f8]
lea edx, [eax + 0x98c]
push edx
mov edx, dword [eax + 0x9f0]
push ecx
mov ecx, dword [eax + 0x9f4]
push edx
push ecx
mov ecx, dword [eax + 0x71c]
lea edx, [eax + 0xa00]
push edx
push ecx
push 1
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0x6c]
push edx
push eax
lea eax, [esp + 0xb0]
push eax
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0xac]
push ecx
lea edx, [esp + 0xa4]
push edx
mov edx, dword [esp + 0x58]
push eax
lea ecx, [esp + 0xb4]
push ecx
push edx
lea eax, [esp + 0xcc]
push eax
lea ecx, [esp + 0xc8]
push ecx
lea edx, [esp + 0x90]
push edx
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0xe0]
push ecx
lea edx, [esp + 0xcc]
push edx
lea eax, [esp + 0xb4]
push eax
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0xf4]
push edx
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.00522fd0
mov esi, dword [esp + 0x8c]
add esp, 0x78
cmp esi, edi
jg 0x526f54
jl 0x526f60
mov edx, dword [esp + 0x2c]
mov dword [ebp + 0xc], edx
jmp 0x5271a8
cmp esi, 1
jge 0x526f6a
mov esi, 1
dec esi
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ebx, esi
sub ebx, eax
cmp esi, ebx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x50], esi
mov dword [esp + 0x14], eax
jl 0x52702c
mov edi, edi
cmp byte [esp + esi + 0x88], 0x20
je 0x52702c
mov eax, dword [esp + 0x30]
xor edi, edi
test eax, eax
je 0x526fe7
lea ecx, [esp + 0x88]
push esi
push ecx
call fcn.0057aa30
add esp, 8
test eax, eax
je 0x526fc4
mov edi, 1
jg 0x527023
cmp eax, 0xffffffff
je 0x527023
cmp eax, 0xfffffffe
je 0x527023
test edi, edi
je 0x526fe7
lea edx, [esp + 0x88]
push esi
push edx
call fcn.0057aa30
add esp, 8
test eax, eax
jne 0x52700a
mov eax, dword [esp + 0x20]
test eax, eax
je 0x52700a
lea eax, [esp + 0x88]
push esi
push eax
call fcn.005cf858
add esp, 8
cmp eax, 1
je 0x527023
cmp eax, 2
je 0x527023
cmp byte [esp + esi + 0x88], 2
jne 0x527023
mov eax, dword [esp + 0x14]
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x14], ecx
dec esi
cmp esi, ebx
jge 0x526f90
test esi, esi
jge 0x527032
xor esi, esi
cmp esi, ebx
jg 0x52703c
mov esi, dword [esp + 0x50]
jmp 0x527052
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x3c], eax
je 0x527052
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], 1
test esi, esi
mov edi, esi
jl 0x52709a
lea eax, [esi - 5]
jmp 0x527060
cmp edi, eax
jl 0x52709a
cmp byte [esp + edi + 0x88], 3
je 0x527073
dec edi
jns 0x527060
jmp 0x52709a
push 0
push 0
push 0
lea edx, [esp + edi + 0x94]
push 0
push edx
call fcn.00522aa0
add eax, edi
add esp, 0x14
cmp eax, esi
jl 0x52709a
lea esi, [edi - 1]
test esi, esi
jge 0x52709a
xor esi, esi
mov eax, dword [esp + 0x30]
test eax, eax
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x14], 0
je 0x527119
cmp esi, ebx
jge 0x527119
lea edi, [esi + 1]
lea eax, [esp + 0x88]
push esi
push eax
call fcn.0057aa30
add esp, 8
test eax, eax
je 0x5270d4
mov dword [esp + 0x14], 1
jg 0x5270f6
cmp eax, 0xffffffff
je 0x5270f6
cmp eax, 0xfffffffe
jne 0x5270fc
cmp edi, ebx
jge 0x5270fc
lea ecx, [esp + esi + 0x89]
push ecx
call fcn.0057b690
add esp, 4
test eax, eax
je 0x5270fc
inc esi
inc edi
cmp esi, ebx
jl 0x5270b5
mov eax, dword [esp + 0x14]
test eax, eax
je 0x527119
lea edx, [esp + 0x88]
push esi
push edx
call fcn.0057aa30
add esp, 8
test eax, eax
jne 0x527140
mov eax, dword [esp + 0x20]
test eax, eax
je 0x527140
lea edi, [esi + 1]
cmp edi, ebx
jge 0x527140
lea eax, [esp + 0x88]
push esi
push eax
call fcn.005cf858
add esp, 8
cmp eax, 2
jne 0x527140
mov esi, edi
mov eax, dword [esp + 0x28]
inc esi
test eax, eax
jne 0x52717c
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x52716a
mov eax, dword [esp + 0x4c]
cmp esi, eax
jge 0x52715b
mov esi, eax
mov byte [esp + esi + 0x88], 0
sub esi, eax
add dword [ebp + 0xc], esi
jmp 0x5271ac
mov eax, dword [ebp + 0xc]
add eax, esi
mov byte [esp + esi + 0x88], 0
mov dword [ebp + 0xc], eax
jmp 0x5271ac
mov edx, dword [0x63f7b0]
test edx, edx
jle 0x527196
cmp esi, edx
jg 0x527196
dec edx
mov dword [0x63f7b0], edx
jmp 0x527360
mov eax, dword [ebp + 0xc]
mov byte [esp + esi + 0x88], 0
sub esi, edx
add eax, esi
mov dword [ebp + 0xc], eax
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x10]
push ebx
push ecx
push edx
lea eax, [esp + 0x94]
push eax
push edi
call fcn.00522e70
mov eax, dword [esp + 0x3c]
add esp, 0x14
test eax, eax
jne 0x52727c
mov eax, dword [edi + 0x6a8]
test eax, eax
je 0x52727c
mov eax, dword [0x63f7c4]
test eax, eax
jne 0x52727c
mov eax, dword [ebp + 0xc]
cmp eax, dword [esp + 0x2c]
jae 0x52722d
mov edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x527200
lea edi, [esp + 0x88]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x527211
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x10]
mov al, byte [esp + 0x88]
test al, al
je 0x52727c
test ebx, ebx
jle 0x527266
lea edx, [esp + ebx + 0x88]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x527248
sub eax, esi
inc eax
push eax
push edx
lea ecx, [esp + 0x90]
push ecx
call fcn.005cceb0
add esp, 0xc
xor ebx, ebx
mov edx, dword [ebp + 0x10]
push edx
push ebx
lea eax, [esp + 0x90]
push eax
push edi
call fcn.004e63d0
add esp, 0x10
push 0
push edi
mov dword [esp + 0x24], 0
call fcn.00427050
mov eax, dword [0x63f7c8]
mov esi, 1
add esp, 8
cmp eax, esi
jne 0x5272de
cmp dword [edi + 0x71c], 2
jne 0x5272de
mov eax, dword [edi + 0x780]
test eax, eax
jne 0x5272de
mov dword [edi + 0x780], 0x3e8
mov eax, dword [0x63b6d0]
test eax, eax
jne 0x5272de
mov ecx, dword [0x645324]
push 0
push 0x64
push 0x8a
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [0x63b6d0], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x527330
mov eax, dword [0x63f7a8]
test eax, eax
jne 0x527330
mov eax, dword [ebp + 8]
cmp eax, dword [0x613878]
je 0x527330
cmp eax, dword [0x613888]
je 0x527330
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x70]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x74]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x28]
push edx
push edi
call fcn.00524af0
add esp, 0x18
mov eax, dword [0x63f7ac]
test eax, eax
jge 0x527351
mov eax, dword [0x63f7a4]
inc eax
cmp eax, 0x2328
mov dword [0x63f7a4], eax
jle 0x527351
mov dword [0x63f7a4], esi
mov eax, dword [esp + 0x28]
mov edx, dword [0x63f7b0]
inc eax
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xc]
cmp eax, dword [esp + 0x2c]
jb 0x526d50
mov eax, dword [esp + 0x38]
test eax, eax
jl 0x52737e
push eax
call fcn.005cf6ab
add esp, 4
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [esp + 0x48]
test eax, eax
je 0x52739d
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x34]
mov ecx, dword [0x613878]
test eax, eax
mov eax, dword [ebp + 8]
je 0x527438
cmp eax, ecx
je 0x527442
cmp eax, dword [0x613888]
je 0x527442
mov eax, dword [0x63f7a8]
test eax, eax
mov esi, dword [esp + 0x10]
je 0x527429
mov eax, dword [esi + 0x87c]
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [0x63f7a8]
inc eax
cmp eax, 3
mov dword [0x63f7a8], eax
jl 0x527429
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x70]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 8], edx
push 0
push esi
mov dword [0x63f7a8], 1
mov dword [ecx + 0xc], eax
call fcn.00524af0
add esp, 0x18
push 1
push esi
call fcn.00585000
mov ebx, 2
jmp 0x527459
cmp eax, ecx
je 0x527442
mov ecx, dword [0x613888]
mov esi, dword [esp + 0x10]
push 0
push esi
call fcn.00585000
mov ebx, 2
mov dword [0x63f7b4], ebx
mov ecx, dword [esp + 0x20]
mov edx, dword [esi + 0x87c]
add esp, 8
push ecx
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [0x609e1c]
test eax, eax
je 0x5274e9
cmp dword [esi + 0x71c], 3
je 0x5274e9
mov eax, dword [esi + 0x724]
cmp eax, ebx
je 0x5274e9
cmp eax, 1
mov edi, dword [esp + 0x54]
jne 0x527497
test edi, edi
je 0x5274e9
cmp eax, 3
jne 0x5274a9
test edi, edi
jne 0x5274a9
mov eax, dword [0x63f7c8]
test eax, eax
je 0x5274e9
mov eax, dword [esi]
push eax
call fcn.0058a890
add esp, 4
test eax, eax
je 0x5274e9
test edi, edi
je 0x5274c4
mov dword [esi + 0x724], ebx
jmp 0x5274da
mov eax, dword [0x63f7c8]
xor ecx, ecx
test eax, eax
sete cl
lea ecx, [ecx + ecx + 1]
mov dword [esi + 0x724], ecx
push esi
call fcn.00584a30
push esi
call fcn.005562e0
add esp, 8
mov eax, dword [0x63f7b4]
test eax, eax
je 0x527554
mov edx, dword [esi]
push edx
call fcn.00434470
add esp, 4
test eax, eax
jne 0x527554
cmp dword [0x63f7b4], ebx
jne 0x52752d
mov eax, dword [0x63e140]
test eax, eax
je 0x52752d
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x527530
push edi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x527530
jmp 0x52754a
mov edi, dword [ebp + 8]
push esi
call fcn.00583950
add esp, 4
test eax, eax
je 0x527554
push edi
call fcn.0058a7c0
add esp, 4
test eax, eax
je 0x527554
push 0
call fcn.00421c80
add esp, 4
mov eax, dword [0x63f7c0]
test eax, eax
je 0x52758f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push ecx
call fcn.00434470
add esp, 4
test eax, eax
jne 0x52758f
mov edx, dword [esp + 0x10]
push edx
call fcn.00583bd0
add esp, 4
test eax, eax
je 0x52758f
mov eax, dword [ebp + 8]
push 0
push eax
call fcn.004962e0
add esp, 8
xor eax, eax
mov dword [0x63f7ac], eax
mov dword [0x63f7b0], eax
mov dword [0x63f7b4], eax
mov dword [0x63f7b8], eax
mov dword [0x63f7bc], eax
mov dword [0x63f7c0], eax
mov dword [0x609e1c], 1
mov dword [0x63f7c4], eax
mov dword [0x63f7c8], eax
mov dword [0x63f7cc], eax
mov dword [0x63f7d0], eax
mov dword [0x63f7dc], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret