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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff64
mov edi, edx
mov ebp, eax
xor ebx, ebx
test edi, edi
je case.0x75411c.0
mov eax, dword [ebp]
cmp eax, 0x201
jg 0x75419b
je 0x755666
cmp eax, 0x18
jg 0x754153
je 0x755507
cmp eax, 0xb
ja case.0x75411c.0
jmp dword [eax*4 + 0x754123]
cmp eax, 0x81
jg 0x754180
je case.0x75411c.1
sub eax, 0x1d
je 0x754d84
sub eax, 0x29
je 0x755614
sub eax, 0x35
je 0x754764
jmp case.0x75411c.0
sub eax, 0x128
je 0x75470c
sub eax, 0xd8
je 0x754249
jmp case.0x75411c.0
cmp eax, 0xb00b
jg 0x7541ec
je 0x7547be
cmp eax, 0x317
jg 0x7541d5
je 0x75463f
sub eax, 0x202
je 0x75566f
sub eax, 0xe
je 0x7549a2
sub eax, 0xd0
je 0x75423b
jmp case.0x75411c.0
sub eax, 0xa100
je 0x75422b
sub eax, 0xf08
je 0x7549d6
jmp case.0x75411c.0
cmp eax, 0xb014
jg 0x754212
je 0x75512e
sub eax, 0xb00c
je 0x754d84
sub eax, 7
je 0x754de9
jmp case.0x75411c.0
sub eax, 0xb019
je 0x754969
sub eax, 0x1e
je 0x754dca
jmp case.0x75411c.0
mov eax, ebp
mov edx, edi
call fcn.00752db0
mov ebx, eax
jmp case.0x75411c.0
xor edx, edx
mov eax, edi
call fcn.0075260c
jmp case.0x75411c.0
mov eax, dword [0x802828]
cmp dword [eax], 0
je 0x7545bf
mov eax, dword [0x802828]
mov eax, dword [eax]
cmp byte [eax + 0x99], 0
je 0x7545bf
mov eax, dword [0x802828]
mov eax, dword [eax]
cmp byte [eax + 0xc0], 0
je 0x7545bf
mov eax, dword [0x802828]
mov eax, dword [eax]
test byte [eax + 0x1c], 8
jne 0x7545bf
cmp dword [edi + 0xb4], 0
je 0x7545bf
mov eax, dword [edi + 0xb4]
test byte [eax + 0x1c], 8
jne 0x7545bf
mov byte [esp + 8], 0
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je 0x7542d3
mov eax, dword [edi + 0xb4]
mov dword [esp + 0xc], eax
jmp 0x7542fa
mov eax, dword [edi + 0x70]
mov edx, dword [0x75efc8]
call fcn.00406d30
test al, al
je 0x7542f4
mov eax, dword [edi + 0x70]
mov eax, dword [eax + 0x2dc]
mov dword [esp + 0xc], eax
jmp 0x7542fa
xor eax, eax
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0
je 0x754486
mov eax, dword [esp + 0xc]
call fcn.0051862c
dec eax
test eax, eax
jl 0x754486
inc eax
mov dword [esp + 0x14], eax
xor esi, esi
movsx eax, word [ebp + 8]
mov dword [esp], eax
movsx eax, word [ebp + 0xa]
mov dword [esp + 4], eax
mov edx, esi
mov eax, dword [esp + 0xc]
call fcn.005185f0
mov edx, dword [eax]
call dword [edx + 0x78]
test al, al
jne 0x75447b
mov edx, esi
mov eax, dword [esp + 0xc]
call fcn.005185f0
lea edx, [esp + 0x64]
call fcn.00513458
lea eax, [esp + 0x64]
mov edx, esp
call fcn.00410878
test al, al
je 0x75447b
mov edx, esi
mov eax, dword [esp + 0xc]
call fcn.005185f0
cmp byte [eax + 0x99], 0
je 0x75447b
mov edx, esi
mov eax, dword [esp + 0xc]
call fcn.005185f0
cmp dword [eax + 0x90], 0
je 0x75447b
mov edx, esi
mov eax, dword [esp + 0xc]
call fcn.005185f0
mov eax, dword [eax + 0x50]
sub dword [esp], eax
mov edx, esi
mov eax, dword [esp + 0xc]
call fcn.005185f0
mov eax, dword [eax + 0x54]
sub dword [esp + 4], eax
push esi
push edi
mov esi, ebp
lea edi, [esp + 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
movzx eax, word [esp]
mov word [esp + 0x4c], ax
movzx eax, word [esp + 4]
mov word [esp + 0x4e], ax
mov byte [esp + 8], 1
mov edx, esi
mov eax, dword [esp + 0xc]
call fcn.005185f0
mov edx, dword [0x802828]
mov edx, dword [edx]
cmp eax, dword [edx + 0xd0]
je 0x754479
mov eax, dword [0x802ef8]
mov eax, dword [eax]
call fcn.005d57c0
lea edx, [esp + 0x74]
xor eax, eax
call fcn.006f78cc
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea edx, [esp + 0x74]
xor eax, eax
call fcn.006f78cc
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov edx, esi
mov eax, dword [esp + 0xc]
call fcn.005185f0
mov edx, dword [0x802828]
mov edx, dword [edx]
mov dword [edx + 0xd0], eax
mov eax, dword [0x802ef8]
mov eax, dword [eax]
mov eax, dword [eax + 0x88]
push eax
mov edx, esi
mov eax, dword [esp + 0x10]
call fcn.005185f0
mov ecx, dword [eax + 0x90]
lea edx, [esp + 4]
mov eax, dword [0x802828]
mov eax, dword [eax]
call fcn.0069ad4c
mov bl, 1
inc esi
dec dword [esp + 0x14]
jne 0x75431e
cmp byte [esp + 8], 0
jne 0x754563
mov eax, dword [0x802828]
mov eax, dword [eax]
cmp dword [eax + 0xd0], 0
je 0x754563
mov eax, dword [0x802828]
mov eax, dword [eax]
mov eax, dword [eax + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x78]
test al, al
jne 0x754563
mov eax, dword [0x802828]
mov eax, dword [eax]
mov eax, dword [eax + 0xd0]
cmp eax, dword [esp + 0xc]
je 0x754557
cmp dword [esp + 0xc], 0
je 0x754557
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x99], 0
je 0x754557
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x90], 0
je 0x754557
lea edx, [esp + 0x74]
xor eax, eax
call fcn.006f78cc
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea edx, [esp + 0x74]
xor eax, eax
call fcn.006f78cc
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [0x802828]
mov eax, dword [eax]
mov edx, dword [esp + 0xc]
mov dword [eax + 0xd0], edx
mov eax, dword [0x802ef8]
mov eax, dword [eax]
mov eax, dword [eax + 0x88]
push eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x90]
lea edx, [esp + 4]
mov eax, dword [0x802828]
mov eax, dword [eax]
call fcn.0069ad4c
jmp 0x754563
mov eax, dword [0x802828]
mov eax, dword [eax]
call fcn.0069a5d8
cmp byte [esp + 8], 0
jne 0x7545bf
mov eax, dword [0x802828]
mov eax, dword [eax]
cmp byte [eax + 0x99], 0
je 0x7545bf
mov eax, dword [0x802828]
mov eax, dword [eax]
cmp byte [eax + 0xc0], 0
je 0x7545bf
mov eax, dword [0x802828]
mov eax, dword [eax]
cmp dword [eax + 0xd0], 0
je 0x7545bf
mov eax, dword [0x802828]
mov eax, dword [eax]
mov eax, dword [eax + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x78]
test al, al
jne 0x7545bf
mov eax, dword [0x802828]
mov eax, dword [eax]
xor edx, edx
mov dword [eax + 0xd0], edx
mov eax, edi
mov edx, dword [0x74dd04]
call fcn.00406d30
test al, al
je case.0x75411c.0
xor edx, edx
mov eax, edi
call fcn.007577f4
test al, al
je case.0x75411c.0
movsx eax, word [ebp + 8]
mov edx, dword [edi + 0xb4]
mov edx, dword [edx + 0x58]
sar edx, 1
jns 0x7545f9
adc edx, 0
sub eax, edx
mov esi, edi
mov dword [esi + 0xcc], eax
movsx eax, word [ebp + 0xa]
mov edx, dword [edi + 0xb4]
mov edx, dword [edx + 0x5c]
sar edx, 1
jns 0x754617
adc edx, 0
sub eax, edx
mov dword [esi + 0xd0], eax
lea eax, [esi + 0xb8]
call fcn.00429de8
mov byte [edi + 0xad], 1
mov dl, 1
mov eax, esi
call fcn.007111b4
jmp case.0x75411c.0
mov eax, dword [edi + 0xb4]
mov dl, 1
call fcn.006f8298
xor edx, edx
mov eax, edi
call fcn.00752988
test al, al
jne case.0x75411c.0
cmp dword [ebp + 4], 0
je case.0x75411c.0
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je case.0x75411c.0
mov eax, dword [edi + 0xb4]
call fcn.0051cd60
mov edx, 0xffffffec
call fcn.00413114
test ah, 2
je 0x7546a1
mov esi, 2
jmp 0x7546a3
xor esi, esi
lea ecx, [esp + 0x74]
mov edx, esi
mov eax, esi
call fcn.00410aec
lea eax, [esp + 0x74]
push eax
push 1
mov edx, dword [edi + 0xb4]
mov eax, dword [ebp + 4]
xor ecx, ecx
call fcn.006fc44c
mov bl, 1
jmp case.0x75411c.0
cmp dword [ebp + 4], 1
jne 0x754704
cmp dword [edi + 0x24], 0
jle case.0x75411c.0
dec dword [edi + 0x24]
mov eax, dword [edi + 0xb4]
cmp byte [eax + 0x69], 0
jne case.0x75411c.0
movzx eax, byte [edi + 0x39]
sub al, 0xa
je case.0x75411c.0
mov bl, 1
jmp case.0x75411c.0
inc dword [edi + 0x24]
jmp case.0x75411c.0
xor edx, edx
mov eax, edi
call fcn.00752988
test al, al
je 0x754720
mov bl, 1
jmp case.0x75411c.0
call fcn.004f95a8
test al, al
je case.0x75411c.0
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je case.0x75411c.0
push 0
push 0
mov eax, dword [edi + 0xb4]
call fcn.0051cd60
push eax
mov eax, dword [0x803318]
mov eax, dword [eax]
call eax
jmp case.0x75411c.0
mov esi, dword [edi + 0xb4]
test esi, esi
je case.0x75411c.0
cmp dword [esi + 0x8c], 0
je case.0x75411c.0
mov eax, edi
call fcn.00751b1c
test eax, eax
je case.0x75411c.0
mov eax, edi
call fcn.00751b1c
movzx eax, byte [eax + 0x40]
push eax
mov eax, edi
call fcn.00751b1c
mov eax, dword [eax + 0xf8]
mov edx, dword [edi + 0xb4]
mov edx, dword [edx + 0x8c]
pop ecx
call fcn.006b6d0c
jmp case.0x75411c.0
cmp dword [ebp + 4], 0
jne 0x75482e
lea eax, [edi + 0x3c]
xor edx, edx
call fcn.006bfe2c
lea eax, [edi + 0x40]
call fcn.006bfff4
mov esi, dword [edi + 0xb4]
mov eax, esi
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je 0x75482e
mov eax, esi
call fcn.0051d134
test al, al
je 0x75482e
push 0
lea eax, [esp + 0x68]
push eax
mov dx, 0x52
xor eax, eax
call fcn.00413600
mov edx, eax
xor ecx, ecx
mov eax, 0xa100
call fcn.0072f648
lea eax, [esp + 0x64]
push eax
mov eax, dword [edi + 0xb4]
call fcn.0051cd60
pop edx
call fcn.006f8374
mov eax, edi
call fcn.00751b1c
test eax, eax
je case.0x75411c.0
cmp dword [edi + 0xb4], 0
je case.0x75411c.0
mov eax, dword [edi + 0xb4]
test byte [eax + 0x1c], 8
jne case.0x75411c.0
cmp dword [edi + 0x5c], 0
je case.0x75411c.0
mov eax, edi
call fcn.00751b1c
mov eax, dword [eax + 0x84]
cmp byte [eax + 0x14], 1
jne 0x75494c
cmp dword [ebp + 4], 0
jne 0x754941
mov eax, dword [edi + 0x5c]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [edi + 0x5c]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je 0x754945
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d54
mov ebp, eax
mov eax, ebp
call fcn.0051862c
dec eax
test eax, eax
jl 0x754945
inc eax
mov dword [esp + 0x14], eax
xor esi, esi
mov edx, esi
mov eax, ebp
call fcn.005185f0
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je 0x75491e
mov edx, esi
mov eax, ebp
call fcn.005185f0
call fcn.0051d134
test al, al
je 0x75491e
mov edx, esi
mov eax, ebp
call fcn.005185f0
call fcn.0051cd60
xor ecx, ecx
mov edx, 0x21
call fcn.006fcc64
jmp 0x754938
push 0
mov edx, esi
mov eax, ebp
call fcn.005185f0
mov ecx, 0x210000
mov edx, 0xa100
call fcn.005150bc
inc esi
dec dword [esp + 0x14]
jne 0x7548d8
jmp 0x754945
mov byte [edi + 0x35], 0
mov byte [edi + 0xad], 1
mov eax, dword [edi + 0x20]
call fcn.00756de4
test al, al
je case.0x75411c.0
mov eax, dword [edi + 0x20]
call fcn.00756d80
jmp case.0x75411c.0
mov eax, dword [edi + 0xb4]
test eax, eax
je case.0x75411c.0
cmp byte [eax + 0x69], 0
je 0x754986
mov dl, 1
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x10]
cmp byte [edi + 0x38], 0
jne case.0x75411c.0
mov eax, dword [edi + 0xb4]
mov dl, 1
call fcn.006f8298
jmp case.0x75411c.0
cmp word [ebp + 4], 1
jne case.0x75411c.0
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je case.0x75411c.0
mov eax, dword [edi + 0xb4]
call fcn.006f8248
jmp case.0x75411c.0
mov eax, dword [edi + 0xb4]
cmp dword [eax + 0x40], 0
je 0x754a48
mov eax, dword [0x8028d0]
cmp byte [eax], 0
jne case.0x75411c.0
cmp byte [edi + 0x38], 0
jne 0x754a03
mov eax, dword [edi + 0xb4]
mov dl, 1
call fcn.006f8298
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je case.0x75411c.0
push 0
lea eax, [esp + 0x58]
push eax
xor ecx, ecx
mov edx, 0x110001
mov eax, 0xa100
call fcn.0072f648
lea edx, [esp + 0x54]
mov eax, dword [edi + 0xb4]
call fcn.006fcef4
jmp case.0x75411c.0
mov byte [edi + 0x3a], 0
jmp case.0x75411c.0
xor edx, edx
mov eax, edi
call fcn.00752988
test al, al
je case.0x75411c.0
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je case.0x75411c.0
mov eax, dword [edi + 0xb4]
mov dword [esp + 0x18], eax
mov eax, edi
call fcn.007517d0
mov eax, dword [eax + 0x52c]
imul edx, dword [edi + 0xb0], 0x26
lea ebp, [eax + edx*8]
mov eax, dword [esp + 0x18]
mov si, 0xffb3
call fcn.00406dd0
test al, al
je case.0x75411c.0
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x20c], 0
je case.0x75411c.0
cmp dword [ebp + 0x14], 0x64
jne 0x754ad2
cmp dword [ebp + 0x50], 0x64
je case.0x75411c.0
mov byte [edi + 0xad], 1
mov byte [edi + 0x34], 1
movzx eax, byte [edi + 0x39]
mov edx, dword [0x802dc0]
movzx eax, al
bt dword [edx], eax
jae 0x754bb0
cmp dword [ebp + 0xc0], 1
jle 0x754bb0
mov byte [edi + 0xad], 1
mov byte [esp + 0x10], 0
mov eax, dword [ebp + 0x58]
mov edx, dword [edi + 0xb4]
cmp eax, dword [edx + 0x7c]
je 0x754b33
cmp byte [edi + 0x11], 0
jne 0x754b33
mov edx, dword [ebp + 0x58]
mov eax, dword [edi + 0xb4]
call fcn.00513ee4
mov byte [esp + 0x10], 1
mov eax, dword [edi + 0xb4]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x18]
cmp eax, dword [ebp + 0x68]
je 0x754b74
cmp byte [edi + 0x10], 0
jne 0x754b74
or dword [edi + 0xa8], 0x2000
mov edx, dword [ebp + 0x68]
mov eax, dword [edi + 0xb4]
mov eax, dword [eax + 0x74]
call fcn.004e8064
and dword [edi + 0xa8], 0xffffdfff
mov byte [esp + 0x10], 1
cmp byte [edi + 0x35], 0
jne 0x754bb0
cmp byte [esp + 0x10], 0
je 0x754b99
push 0x585
push 0
push 0
mov eax, dword [esp + 0x24]
call fcn.0051cd60
push eax
call sub.user32.dll_RedrawWindow
push 0
mov eax, dword [esp + 0x1c]
call fcn.0051cd60
xor ecx, ecx
mov edx, 0x85
call fcn.006fcd74
mov eax, dword [edi + 0x20]
cmp byte [eax + 8], 2
jne 0x754bc1
mov eax, dword [edi + 0x20]
call fcn.00756d80
mov eax, dword [edi + 0x3c]
call fcn.006c0128
jmp case.0x75411c.0
xor edx, edx
mov eax, edi
call fcn.00752988
test al, al
je case.0x75411c.0
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je case.0x75411c.0
mov eax, edi
call fcn.0074ea98
mov ebp, dword [edi + 0xb4]
mov eax, edi
call fcn.007517d0
mov eax, dword [eax + 0x52c]
imul edx, dword [edi + 0xb0], 0x26
lea eax, [eax + edx*8]
mov dword [esp + 0x1c], eax
mov eax, ebp
mov si, 0xffb3
call fcn.00406dd0
test al, al
je case.0x75411c.0
mov byte [edi + 0x34], 0
mov byte [esp + 0x10], 0
movzx eax, byte [edi + 0x39]
mov edx, dword [0x802dc0]
movzx eax, al
bt dword [edx], eax
jae 0x754d0c
mov eax, edi
call fcn.007512f0
test al, al
jne 0x754d0c
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x1c]
mov edx, dword [edi + 0xb4]
cmp eax, dword [edx + 0x7c]
je 0x754c90
cmp byte [edi + 0x11], 0
jne 0x754c90
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0x1c]
mov eax, dword [edi + 0xb4]
call fcn.00513ee4
mov byte [esp + 0x10], 1
mov eax, dword [edi + 0xb4]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x18]
mov edx, dword [esp + 0x1c]
cmp eax, dword [edx + 0x2c]
je 0x754cd9
cmp byte [edi + 0x10], 0
jne 0x754cd9
or dword [edi + 0xa8], 0x2000
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0x2c]
mov eax, dword [edi + 0xb4]
mov eax, dword [eax + 0x74]
call fcn.004e8064
and dword [edi + 0xa8], 0xffffdfff
mov byte [esp + 0x10], 1
cmp byte [esp + 0x10], 0
jne 0x754d0c
mov eax, dword [edi + 0xb4]
mov edx, dword [0x6a3a28]
call fcn.00406d30
test al, al
je 0x754d0c
mov eax, dword [edi + 0xb4]
mov edx, dword [eax]
call dword [edx + 0x1b4]
test al, al
je 0x754d0c
mov byte [esp + 0x10], 1
mov byte [edi + 0xad], 1
mov eax, edi
call fcn.0074ea98
mov eax, dword [edi + 0xb4]
cmp byte [eax + 0x69], 0
je 0x754d6a
movzx eax, byte [edi + 0x39]
mov edx, dword [0x802dc0]
movzx eax, al
bt dword [edx], eax
jae 0x754d6a
cmp byte [esp + 0x10], 0
je 0x754d55
push 0x585
push 0
push 0
mov eax, ebp
call fcn.0051cd60
push eax
call sub.user32.dll_RedrawWindow
push 0
mov eax, ebp
call fcn.0051cd60
xor ecx, ecx
mov edx, 0x85
call fcn.006fcd74
mov eax, dword [edi + 0x20]
cmp byte [eax + 8], 2
jne case.0x75411c.0
mov eax, dword [edi + 0x20]
call fcn.00756d80
jmp case.0x75411c.0
mov byte [edi + 0xac], 0
mov byte [edi + 0x34], 0
mov byte [edi + 0xad], 1
mov esi, dword [edi + 0xb4]
test esi, esi
je case.0x75411c.0
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x78]
test al, al
jne case.0x75411c.0
lea eax, [edi + 0x3c]
xor edx, edx
call fcn.006bfe2c
lea eax, [edi + 0x40]
call fcn.006bfff4
jmp case.0x75411c.0
mov eax, dword [edi + 0x74]
test eax, eax
je case.0x75411c.0
cmp byte [eax + 0x40], 0
je case.0x75411c.0
mov edx, dword [eax]
call dword [edx + 0x4c]
jmp case.0x75411c.0
xor edx, edx
mov eax, edi
call fcn.00752988
test al, al
je 0x75510f
cmp byte [edi + 0xac], 0
jne 0x75510f
mov eax, edi
call fcn.00751b1c
mov dword [esp + 0x20], eax
mov eax, edi
call fcn.007517d0
imul edx, dword [edi + 0xb0], 0x26
mov eax, dword [eax + 0x52c]
lea eax, [eax + edx*8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
test byte [eax + 0x1c], 0x10
jne 0x7550c1
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x84]
mov edx, 1
call fcn.0074472c
test al, al
jne 0x7550c1
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x14], 0x64
jne 0x754e6f
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x50], 0x64
je 0x7550c1
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je 0x7550c1
mov eax, dword [edi + 0xb4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
test byte [eax + 0x1c], 0x10
jne 0x755108
mov eax, dword [esp + 0x28]
call fcn.0051862c
dec eax
test eax, eax
jl 0x754f2c
inc eax
mov dword [esp + 0x14], eax
xor esi, esi
mov edx, esi
mov eax, dword [esp + 0x28]
call fcn.005185f0
mov edx, dword [0x66d0c4]
call fcn.00406d30
test al, al
je 0x754f25
mov edx, esi
mov eax, dword [esp + 0x28]
call fcn.005185f0
cmp eax, dword [edi + 0xb4]
je 0x754f25
mov edx, esi
mov eax, dword [esp + 0x28]
call fcn.005185f0
cmp eax, dword [ebp + 8]
je 0x754f25
mov edx, esi
mov eax, dword [esp + 0x28]
call fcn.005185f0
mov eax, dword [eax + 0x248]
cmp byte [eax + 0xac], 0
je 0x754f25
push 0
mov edx, esi
mov eax, dword [esp + 0x2c]
call fcn.005185f0
xor ecx, ecx
mov edx, 0xb014
call fcn.005150bc
inc esi
dec dword [esp + 0x14]
jne 0x754eb5
movzx eax, byte [edi + 0x39]
mov edx, dword [0x802a50]
movzx eax, al
bt dword [edx], eax
jb 0x754f45
mov byte [edi + 0xac], 1
mov eax, dword [edi + 0xb4]
call fcn.0051cd60
mov edx, eax
mov eax, dword [0x802d38]
mov eax, dword [eax]
call fcn.007411e8
mov esi, dword [0x803274]
push edi
lea edi, [esp + 0x80]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
lea eax, [esp + 0x7c]
mov edx, dword [0x8032bc]
mov cl, 0x20
call fcn.00406060
movzx eax, byte [edi + 0x39]
movzx eax, al
bt dword [esp + 0x7c], eax
jb 0x754fc3
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x90]
movzx eax, byte [eax + 5]
xor al, 1
mov edx, eax
shl eax, 8
sub eax, edx
push eax
push 1
push 0xffffffffffffffff
mov eax, dword [esp + 0x34]
call fcn.0051cd60
mov ecx, eax
xor edx, edx
mov eax, edi
call fcn.00750594
movzx eax, byte [edi + 0x39]
mov edx, dword [0x802dc0]
movzx eax, al
bt dword [edx], eax
jae 0x755108
movzx eax, byte [edi + 0x39]
mov edx, dword [0x802d70]
movzx eax, al
bt dword [edx], eax
jae 0x754ff9
mov eax, dword [0x803160]
cmp byte [eax], 0
je 0x755108
mov eax, dword [esp + 0x24]
cmp dword [eax + 0xc0], 1
jle 0x755108
mov byte [edi + 0xad], 1
mov byte [esp + 0x10], 0
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x58]
mov edx, dword [edi + 0xb4]
cmp eax, dword [edx + 0x7c]
je 0x755045
cmp byte [edi + 0x11], 0
jne 0x755045
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x58]
mov eax, dword [edi + 0xb4]
call fcn.00513ee4
mov byte [esp + 0x10], 1
mov eax, dword [edi + 0xb4]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x18]
mov edx, dword [esp + 0x24]
cmp eax, dword [edx + 0x68]
je 0x75508e
cmp byte [edi + 0x10], 0
jne 0x75508e
or dword [edi + 0xa8], 0x2000
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x68]
mov eax, dword [edi + 0xb4]
mov eax, dword [eax + 0x74]
call fcn.004e8064
and dword [edi + 0xa8], 0xffffdfff
mov byte [esp + 0x10], 1
cmp byte [esp + 0x10], 0
je 0x7550a8
push 0xffffffffffffffff
push 0
mov eax, dword [esp + 0x30]
call fcn.0051cd60
push eax
call sub.user32.dll_InvalidateRect
push 0
mov eax, dword [esp + 0x2c]
call fcn.0051cd60
xor ecx, ecx
mov edx, 0x85
call fcn.006fcd74
jmp 0x755108
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je 0x7550ef
mov eax, dword [edi + 0xb4]
call fcn.0051cd60
mov edx, eax
mov eax, dword [0x802d38]
mov eax, dword [eax]
call fcn.007411e8
movzx eax, byte [edi + 0x39]
mov edx, dword [0x802a50]
movzx eax, al
bt dword [edx], eax
jb 0x755108
mov byte [edi + 0xac], 1
mov eax, edi
call fcn.00713388
mov eax, dword [edi + 0x74]
test eax, eax
je case.0x75411c.0
cmp byte [eax + 0x40], 0
je case.0x75411c.0
mov edx, dword [eax]
call dword [edx + 0x4c]
jmp case.0x75411c.0
xor edx, edx
mov eax, edi
call fcn.00752988
test al, al
je case.0x75411c.0
cmp dword [edi + 0xb4], 0
je case.0x75411c.0
mov eax, dword [0x802828]
cmp dword [eax], 0
je 0x7551ab
mov eax, dword [0x802828]
mov eax, dword [eax]
cmp byte [eax + 0x99], 0
je 0x7551ab
mov eax, dword [0x802828]
mov eax, dword [eax]
cmp byte [eax + 0xc0], 0
je 0x7551ab
mov eax, dword [0x802828]
mov eax, dword [eax]
cmp dword [eax + 0xd0], 0
je 0x7551ab
mov eax, dword [0x802828]
mov eax, dword [eax]
mov eax, dword [eax + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x78]
test al, al
jne 0x7551ab
mov eax, dword [0x802828]
mov eax, dword [eax]
xor edx, edx
mov dword [eax + 0xd0], edx
mov eax, dword [edi + 0xb4]
mov dword [esp + 0x2c], eax
mov eax, edi
call fcn.00751b1c
mov ebp, eax
mov eax, edi
call fcn.007517d0
mov eax, dword [eax + 0x52c]
imul edx, dword [edi + 0xb0], 0x26
lea esi, [eax + edx*8]
mov eax, dword [ebp + 0x84]
mov edx, 1
call fcn.0074472c
test al, al
jne 0x755341
test byte [ebp + 0x1c], 0x10
jne 0x755341
mov eax, edi
call fcn.00753f10
test al, al
jne 0x755341
movzx eax, byte [edi + 0x39]
mov edx, dword [0x802a50]
movzx eax, al
bt dword [edx], eax
jb 0x75521f
mov byte [edi + 0xac], 0
movzx eax, byte [edi + 0x39]
mov edx, dword [0x803274]
movzx eax, al
bt dword [edx], eax
jb 0x755255
movzx eax, byte [edi + 0x39]
mov edx, dword [0x8032bc]
movzx eax, al
bt dword [edx], eax
jb 0x755255
lea eax, [edi + 0x3c]
mov dl, 1
call fcn.006bfe2c
lea eax, [edi + 0x40]
call fcn.006bfff4
mov byte [esp + 0x10], 0
movzx eax, byte [edi + 0x39]
mov edx, dword [0x802dc0]
movzx eax, al
bt dword [edx], eax
jae 0x7552eb
mov eax, edi
call fcn.007512f0
test al, al
jne 0x7552eb
cmp dword [esi + 0x14], 0x64
jne 0x755283
cmp dword [esi + 0x50], 0x64
je 0x7552eb
mov eax, dword [esi + 0x1c]
mov edx, dword [edi + 0xb4]
cmp eax, dword [edx + 0x7c]
je 0x7552aa
cmp byte [edi + 0x11], 0
jne 0x7552aa
mov edx, dword [esi + 0x1c]
mov eax, dword [edi + 0xb4]
call fcn.00513ee4
mov byte [esp + 0x10], 1
mov eax, dword [edi + 0xb4]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x18]
cmp eax, dword [esi + 0x2c]
je 0x7552eb
cmp byte [edi + 0x10], 0
jne 0x7552eb
or dword [edi + 0xa8], 0x2000
mov edx, dword [esi + 0x2c]
mov eax, dword [edi + 0xb4]
mov eax, dword [eax + 0x74]
call fcn.004e8064
and dword [edi + 0xa8], 0xffffdfff
mov byte [esp + 0x10], 1
mov eax, dword [edi + 0xb4]
cmp byte [eax + 0x69], 0
je 0x755341
movzx eax, byte [edi + 0x39]
mov edx, dword [0x802dc0]
movzx eax, al
bt dword [edx], eax
jae 0x755341
mov byte [edi + 0xad], 1
cmp byte [esp + 0x10], 0
je 0x75532a
push 0xffffffffffffffff
push 0
mov eax, dword [esp + 0x34]
call fcn.0051cd60
push eax
call sub.user32.dll_InvalidateRect
push 0
mov eax, dword [esp + 0x30]
call fcn.0051cd60
xor ecx, ecx
mov edx, 0x85
call fcn.006fcd74
mov eax, dword [edi + 0x74]
test eax, eax
je 0x755353
cmp byte [eax + 0x40], 0
je 0x755353
mov edx, dword [eax]
call dword [edx + 0x4c]
mov eax, edi
call fcn.00713388
jmp case.0x75411c.0
mov eax, edi
call fcn.00756ed0
jmp case.0x75411c.0
xor edx, edx
mov eax, edi
call fcn.00752988
test al, al
je case.0x75411c.0
mov byte [edi + 0xad], 1
mov eax, edi
call fcn.0074efc0
test al, al
je 0x7553bf
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je 0x7553bf
mov eax, dword [edi + 0xb4]
call fcn.0051cd60
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x7553bf
mov eax, edi
call fcn.00750e34
mov eax, edi
call fcn.00752d54
test al, al
je 0x7554dc
mov eax, dword [edi + 0xb4]
mov edx, dword [0x7f5c28]
call fcn.00406d30
test al, al
je 0x75545d
mov eax, dword [edi + 0xb4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
call fcn.0074d0ec
mov ebp, eax
mov eax, dword [esp + 0x30]
call fcn.0074d0ec
test eax, eax
je 0x7554c6
mov eax, ebp
call fcn.0051862c
dec eax
test eax, eax
jl 0x7554c6
inc eax
mov dword [esp + 0x14], eax
xor esi, esi
mov eax, ebp
call fcn.0051862c
cmp esi, eax
jge 0x755454
mov edx, esi
mov eax, ebp
call fcn.005185f0
test byte [eax + 0x1c], 8
jne 0x755454
push 0
mov edx, esi
mov eax, ebp
call fcn.005185f0
mov ecx, 0x140001
mov edx, 0xa100
call fcn.005150bc
inc esi
dec dword [esp + 0x14]
jne 0x755420
jmp 0x7554c6
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je 0x7554c6
mov ebp, dword [edi + 0xb4]
mov eax, ebp
call fcn.0051862c
dec eax
test eax, eax
jl 0x7554c6
inc eax
mov dword [esp + 0x14], eax
xor esi, esi
mov eax, ebp
call fcn.0051862c
cmp esi, eax
jge 0x7554bf
mov edx, esi
mov eax, ebp
call fcn.005185f0
test byte [eax + 0x1c], 8
jne 0x7554bf
push 0
mov edx, esi
mov eax, ebp
call fcn.005185f0
mov ecx, 0x140001
mov edx, 0xa100
call fcn.005150bc
inc esi
dec dword [esp + 0x14]
jne 0x75548b
mov eax, dword [edi + 0xa8]
and eax, 0xffff7fff
and eax, 0xfffeffff
mov dword [edi + 0xa8], eax
mov eax, dword [edi + 0xa0]
test eax, eax
je 0x7554f0
cmp byte [eax + 0x40], 0
jne case.0x75411c.0
lea eax, [edi + 0x3c]
xor edx, edx
call fcn.006bfe2c
lea eax, [edi + 0x40]
call fcn.006bfff4
jmp case.0x75411c.0
mov eax, edi
call fcn.0074ea98
jmp case.0x75411c.0
xor edx, edx
mov eax, edi
call fcn.00752988
test al, al
je case.0x75411c.0
mov eax, dword [edi + 0xb4]
mov edx, dword [0x50b034]
call fcn.00406d30
test al, al
je 0x7555f9
mov eax, edi
call fcn.0074efc0
test al, al
je 0x75558d
mov eax, dword [edi + 0xb4]
call fcn.0051cd60
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x75558d
mov eax, edi
call fcn.00750e34
mov eax, dword [edi + 0xb4]
test byte [eax + 0x1c], 0x10
je 0x75558d
push 0x105
push 0
push 0
mov eax, dword [edi + 0xb4]
mov eax, dword [eax + 0x40]
call fcn.0051cd60
push eax
call sub.user32.dll_RedrawWindow
mov eax, edi
call fcn.00752420
test al, al
je 0x755600
mov byte [edi + 0xad], 1
mov eax, edi
call fcn.007574a4
test al, al
jne 0x755600
push 0
mov eax, dword [edi + 0xb4]
mov ecx, 0x140001
mov edx, 0xa100
call fcn.005150bc
push 0
lea eax, [esp + 0x68]
push eax
mov dx, 0x52
xor eax, eax
call fcn.00413600
mov edx, eax
xor ecx, ecx
mov eax, 0xa100
call fcn.0072f648
lea eax, [esp + 0x64]
push eax
mov eax, dword [edi + 0xb4]
call fcn.0051cd60
pop edx
call fcn.006f8374
jmp 0x755600
mov byte [edi + 0xad], 1
lea eax, [edi + 0x3c]
xor edx, edx
call fcn.006bfe2c
lea eax, [edi + 0x40]
call fcn.006bfff4
jmp case.0x75411c.0
lea eax, [esp + 0x34]
push eax
mov eax, edi
call fcn.00751db8
push eax
call sub.user32.dll_GetWindowRect
test eax, eax
je case.0x75411c.0
lea eax, [esp + 0x34]
xor edx, edx
call fcn.0072faa0
mov edx, dword [ebp + 8]
cmp eax, dword [edx + 0x10]
je 0x755647
or dword [edi + 0xa8], 0x8000
lea eax, [esp + 0x34]
xor edx, edx
call fcn.0072fab4
mov edx, dword [ebp + 8]
cmp eax, dword [edx + 0x14]
je case.0x75411c.0
or dword [edi + 0xa8], 0x10000
jmp case.0x75411c.0
mov eax, edi
call fcn.00713388
jmp case.0x75411c.0
mov eax, edi
call fcn.00713388
mov eax, ebx
add esp, 0x9c
pop ebp
pop edi
pop esi
pop ebx
ret