Function at 0x48f5a6
Capabilities:
Hide graphical window

Disassembly:
push ebp
lea ebp, [esp - 0x30]
sub esp, 0x174
push ebx
push esi
push edi
push dword [ebp + 0x54]
mov eax, 0x4bfa2c
push dword [ebp + 0x50]
mov esi, ecx
push dword [ebp + 0x4c]
mov dword [ebp + 0x2c], esi
push dword [ebp + 0x48]
push eax
push eax
mov eax, dword [ebp + 0x44]
push dword [eax]
push dword [ebp + 0x38]
push 0x10
call fcn.00438f4f
push 0x4dbd30
mov dword [esi], 0x4c83e8
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x80]
and dword [ebp + 0x18], 0
shl eax, 2
not eax
and eax, 0x10000
mov dword [ebp + 0x44], eax
mov eax, dword [ebp + 0x78]
test eax, eax
mov dword [ebp + 0x14], 9
je 0x48f623
mov cx, word [eax]
mov ax, word [eax + 2]
mov word [ebp + 0x18], cx
mov word [ebp + 0x14], ax
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x24]
mov edi, dword [ebp + 0x6c]
add edx, eax
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x2c]
add eax, ecx
mov dword [ebp + 8], eax
mov dword [ebp + 4], edx
mov edx, dword [ebp + 0x68]
mov eax, edx
mov ebx, 0x800
and eax, ebx
mov dword [ebp - 0x20], eax
mov eax, edx
and eax, 0xfffff7ff
mov dword [esi + 0x44], eax
mov al, dl
and al, 0x10
push edi
push edx
mov dword [ebp], ecx
mov dword [ebp + 0x20], edi
mov byte [ebp + 0x57], al
mov dword [ebp + 0x4c], 0x10000000
call fcn.0043e8bd
test al, al
pop ecx
pop ecx
je 0x48f680
mov dword [ebp + 0x4c], 0x18000000
mov eax, edx
and eax, 0x40
xor ecx, ecx
or eax, ecx
je 0x48f68f
or byte [ebp + 0x4e], 0x80
mov eax, edx
and eax, 0x80000000
xor ecx, ecx
or eax, edi
je 0x48f69e
mov ecx, ebx
mov eax, edx
and eax, 0x80000
xor edi, edi
or eax, edi
jne 0x48f6af
or dword [ebp + 0x4c], 8
or dword [ebp + 0x4c], 1
mov eax, edx
and eax, 0x2000
xor edi, edi
or eax, edi
je 0x48f6c4
or byte [ebp + 0x4d], 0x40
mov eax, edx
and eax, 0x1000
xor edi, edi
or eax, edi
je 0x48f6d5
or byte [ebp + 0x4d], 2
mov eax, edx
and eax, 0x2090000
xor edx, edx
or eax, edx
je 0x48f6e6
or dword [ebp + 0x4c], 4
test ecx, ecx
jle 0x48f6ed
or dword [ebp + 0x4c], ecx
push 0x250
call fcn.004ad1a8
test eax, eax
pop ecx
je 0x48f70c
push esi
add esi, 0x34
push esi
mov ecx, eax
call fcn.004a68c0
mov ebx, eax
jmp 0x48f70e
xor ebx, ebx
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x74]
push dword [ebp + 0x40]
mov dword [eax + 0x1c], ebx
mov dword [ecx], eax
mov eax, dword [ebp + 0x7c]
mov dword [ebx + 0x14c], eax
mov eax, dword [ebp + 0x3c]
push dword [eax + 0x18]
mov eax, dword [ebp + 0x4c]
or eax, dword [ebp + 0x44]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
or eax, 0x40000000
push eax
mov ecx, ebx
movsd dword es:[edi], dword [esi]
call fcn.004a30f3
mov ecx, ebx
call fcn.0043e783
push eax
lea ecx, [ebx + 0x84]
call fcn.004a2aea
mov eax, dword [ebp + 0x68]
and eax, 0x4800
xor ecx, ecx
cmp eax, 0x4000
jne 0x48f786
test ecx, ecx
jne 0x48f786
push ecx
push dword [ebx + 0x9c]
call dword [sym.imp.user32.dll_EnableWindow]
or byte [ebx + 0x249], 1
mov eax, dword [ebp + 0x68]
and eax, 0x4000
xor ecx, ecx
xor esi, esi
or eax, ecx
je 0x48f79d
or byte [ebx + 0x248], 1
lea ecx, [ebp + 0x7c]
call fcn.00444a10
mov edi, dword [ebp + 0x60]
cmp word [edi], 0x3d
jne 0x48f7e1
inc edi
inc edi
push 0x3a
lea eax, [ebp + 0x60]
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x4c], edi
call fcn.004a3a6c
mov edi, dword [ebp + 0x60]
mov eax, edi
sub eax, dword [ebp + 0x4c]
pop ecx
sar eax, 1
push eax
push dword [ebp + 0x4c]
lea ecx, [ebp + 0x7c]
call fcn.00444b34
cmp word [edi], si
je 0x48f7e1
inc edi
inc edi
mov dword [ebp + 0x60], edi
mov ecx, dword [ebp + 0x3c]
call fcn.00499aeb
fld qword [0x4c5f38]
and byte [ebp + 0x69], 0xf7
fstp qword [ebp + 0x24]
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp + 0x6c]
mov dword [ebp + 0x6c], eax
xor eax, eax
mov ax, word [edi]
cmp ax, 0x2a
mov dword [ebp + 0x78], eax
jne 0x48f810
mov word [edi], si
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00447e2a
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
push 2
pop edi
jne 0x48f830
add eax, edi
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x50], eax
push 0x3a
lea eax, [ebp + 0x50]
call fcn.004a3a6c
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
je 0x48f84c
mov word [eax], si
add dword [ebp + 0x50], edi
fld qword [0x4c5f38]
or dword [ebp + 0x38], 0xffffffff
fst qword [ebp - 0x30]
lea eax, [ebp - 0x30]
fldz
push eax
fstp qword [ebp - 0x38]
lea eax, [ebp + 0x50]
push eax
mov dword [ebp + 0x44], 0x80000000
fst qword [ebp - 0x1c]
fst qword [ebp - 0x28]
fst qword [ebp + 0xc]
fstp qword [ebp - 0x14]
call fcn.00447e2a
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x48f93e
add dword [ebp + 0x50], edi
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00440edc
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x48f93e
add dword [ebp + 0x50], edi
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00447e2a
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x48f93e
add dword [ebp + 0x50], edi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00447e2a
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x48f93e
add dword [ebp + 0x50], edi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00447e2a
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x48f93e
add dword [ebp + 0x50], edi
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00447e2a
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x48f93e
add dword [ebp + 0x50], edi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00447e2a
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x48f93e
add dword [ebp + 0x50], edi
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00447ed0
pop ecx
pop ecx
fld qword [ebp + 0x24]
mov esi, dword [sym.imp.gdi32.dll_GetObjectW]
fcomp qword [0x4c3958]
fnstsw ax
test ah, 0x41
je 0x48f968
mov eax, dword [ebp + 0x60]
cmp word [eax], 0
jne 0x48f968
cmp word [ebp + 0x78], 0
je 0x48f9fa
and dword [ebp - 0xe8], 0
fld qword [ebp + 0x24]
push 0x16
fstp qword [ebp + 4]
pop ecx
xor eax, eax
lea edi, [ebp - 0xe4]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xe8]
push eax
push 0x5c
push dword [ebp + 0x4c]
call esi
fld qword [ebp + 0xc]
fcomp qword [0x4c3958]
fnstsw ax
test ah, 0x41
jne 0x48f9b5
fld qword [ebp + 0xc]
push ecx
push ecx
fstp qword [esp]
call fcn.004440a1
pop ecx
pop ecx
mov dword [ebp - 0xe8], eax
fld qword [ebp - 0x14]
fcomp qword [0x4c3958]
fnstsw ax
test ah, 0x41
jne 0x48f9da
fld qword [ebp - 0x14]
push ecx
push ecx
fstp qword [esp]
call fcn.004440a1
pop ecx
pop ecx
mov dword [ebp - 0xe4], eax
push dword [ebp + 0x60]
lea eax, [ebp + 4]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.0047aa20
add esp, 0xc
test eax, eax
mov dword [ebx + 0x48], eax
je 0x48f9fa
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp + 0x3c]
push dword [eax + 0x18]
lea ecx, [ebp + 0xc]
call fcn.00401034
push dword [ebp + 0xc]
call dword [sym.imp.gdi32.dll_GetBkColor]
push eax
mov ecx, ebx
call fcn.0043e7d4
lea ecx, [ebp + 0xc]
call fcn.0040104d
push dword [ebp + 0x60]
lea eax, [ebp + 0x24]
push eax
push dword [ebp + 0x4c]
call fcn.004847d2
fld qword [ebp + 0x24]
fcomp qword [0x4c3958]
mov dword [ebx + 0x150], eax
add esp, 0xc
fnstsw ax
test ah, 0x41
jne 0x48fa52
fld qword [ebp + 0x24]
fstp qword [ebx + 0x230]
fld qword [ebp - 0x14]
fcomp qword [0x4c3958]
fnstsw ax
test ah, 0x41
jne 0x48fa6b
fld qword [ebp - 0x14]
fstp qword [ebx + 0x238]
push 1
push dword [ebx + 0x18]
call dword [sym.imp.shell32.dll_DragAcceptFiles]
mov eax, dword [ebx]
push 1
push dword [ebp + 0x4c]
mov ecx, ebx
call dword [eax + 0x80]
mov eax, dword [ebp + 0x44]
test eax, eax
jl 0x48fa91
movzx edx, al
jmp 0x48fa94
or edx, 0xffffffff
test eax, eax
jl 0x48fa9d
movzx ecx, ah
jmp 0x48faa0
or ecx, 0xffffffff
test eax, eax
jl 0x48faac
sar eax, 0x10
movzx eax, al
jmp 0x48faaf
or eax, 0xffffffff
fld qword [ebp - 0x38]
push ecx
fstp dword [esp]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.004a3903
and dword [ebp - 0x144], 0
push 0x16
pop ecx
xor eax, eax
lea edi, [ebp - 0x140]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x144]
push eax
push 0x5c
push dword [ebp + 0x4c]
call esi
fld qword [0x4cac10]
fstp qword [ebp + 4]
fld qword [ebp - 0x1c]
fcomp qword [0x4c3958]
fnstsw ax
test ah, 0x41
jne 0x48fb10
fld qword [ebp - 0x1c]
push ecx
push ecx
fstp qword [esp]
call fcn.004440a1
pop ecx
pop ecx
mov dword [ebp - 0x144], eax
fld qword [ebp - 0x28]
fcomp qword [0x4c3958]
fnstsw ax
test ah, 0x41
jne 0x48fb35
fld qword [ebp - 0x28]
push ecx
push ecx
fstp qword [esp]
call fcn.004440a1
pop ecx
pop ecx
mov dword [ebp - 0x140], eax
push dword [ebp + 0x70]
lea eax, [ebp + 4]
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.0047aa20
mov dword [ebx + 0x120], eax
mov eax, dword [ebp + 0x68]
and eax, 0x80
xor ecx, ecx
add esp, 0xc
or eax, ecx
je 0x48fb66
or byte [ebx + 0x248], 4
mov ecx, dword [ebp + 0x68]
mov eax, ecx
and eax, 0x100
xor edx, edx
or eax, edx
je 0x48fb7d
or byte [ebx + 0x248], 8
mov eax, ecx
and eax, 0x3800200
xor edx, edx
xor esi, esi
or eax, edx
jne 0x48fb8d
inc esi
mov eax, ecx
mov edi, 0x400
and eax, edi
xor edx, edx
or eax, edx
je 0x48fb9f
or esi, 4
mov eax, ecx
and eax, 0x4000
xor edx, edx
or eax, edx
je 0x48fbb3
or byte [ebx + 0x248], 1
cmp dword [ebp - 0x20], 0
je 0x48fbbc
or esi, 0x10
mov eax, ecx
and eax, 0x20000
xor ecx, ecx
or eax, ecx
je 0x48fbcf
or esi, 0x8000
mov ecx, ebx
call fcn.0043e7c1
or esi, eax
mov eax, dword [ebp + 0x68]
and eax, 0x600000
xor ecx, ecx
or eax, ecx
je 0x48fbe9
or esi, 4
push esi
mov ecx, ebx
call fcn.004a315f
mov eax, dword [ebp + 0x68]
and eax, 0x10000
xor ecx, ecx
or eax, ecx
je 0x48fc09
mov eax, dword [ebp + 0x6c]
and byte [ebp + 0x6a], 0xf7
mov dword [ebp + 0x6c], eax
mov edx, dword [ebp + 0x68]
mov eax, edx
and eax, 0x40000
xor ecx, ecx
or eax, ecx
je 0x48fc20
or byte [ebx + 0x248], 2
mov eax, edx
and eax, 0x80000
xor ecx, ecx
or eax, ecx
je 0x48fc34
or byte [ebx + 0x248], 0x20
mov eax, edx
and eax, 0x100000
xor ecx, ecx
or eax, ecx
je 0x48fc48
or byte [ebx + 0x248], 0x40
mov eax, edx
and eax, 0x200000
xor ecx, ecx
or eax, ecx
je 0x48fc5c
or word [ebx + 0x248], di
mov eax, edx
and eax, 0x400000
xor ecx, ecx
or eax, ecx
je 0x48fc70
or byte [ebx + 0x249], 0xc
mov eax, edx
and eax, 0x800000
xor ecx, ecx
or eax, ecx
je 0x48fc84
or byte [ebx + 0x249], 0x18
mov eax, edx
and eax, 0x1000000
xor ecx, ecx
or eax, ecx
je 0x48fc98
or byte [ebx + 0x249], 0x28
mov al, byte [ebp + 0x20]
and al, 1
mov byte [ebp + 0x63], al
je 0x48fca9
or byte [ebx + 0x249], 2
or dword [ebp - 0xc], 0xffffffff
or dword [ebp - 8], 0xffffffff
or dword [ebp - 4], 0xffffffff
xor eax, eax
mov esi, 0x80000000
mov dword [ebp], esi
lea edi, [ebp + 4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x4c], eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.00447986
cmp dword [ebp - 0xc], 0
pop ecx
pop ecx
jl 0x48fce9
push dword [ebp - 0xc]
mov ecx, ebx
call fcn.0043e7d4
mov eax, dword [ebp - 8]
test eax, eax
jl 0x48fcfe
push eax
mov ecx, ebx
mov dword [ebx + 0x21c], eax
call fcn.0043e7eb
mov eax, dword [ebp - 4]
test eax, eax
jl 0x48fd13
push eax
mov ecx, ebx
mov dword [ebx + 0x218], eax
call fcn.004a395d
mov eax, dword [ebp]
cmp eax, esi
jne 0x48fd7c
mov eax, dword [ebp + 0x68]
and eax, 0x50000
xor ecx, ecx
or eax, ecx
jne 0x48fd70
push 0x23
pop edi
push edi
lea eax, [ebp + 0x4c]
call fcn.004a3a6c
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
pop ecx
jne 0x48fd4b
add dword [ebp + 0x4c], 2
push edi
lea eax, [ebp + 0x4c]
call fcn.004a3a6c
pop ecx
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
jne 0x48fd61
add dword [ebp + 0x4c], 2
push edi
lea eax, [ebp + 0x4c]
call fcn.004a3a6c
pop ecx
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
jne 0x48fd82
cmp word [eax + 2], 0x2a
jne 0x48fd82
push 0xd
call dword [sym.imp.user32.dll_GetSysColor]
cmp eax, esi
je 0x48fd82
mov dword [ebx + 0x220], eax
xor ecx, ecx
cmp dword [ebx + 0x220], ecx
jl 0x48fd9f
mov eax, dword [ebp + 0x68]
and eax, 0x10000
or eax, ecx
je 0x48fd9f
or byte [ebx + 0x248], 0x10
push 7
pop edx
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x54]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x58]
mov eax, dword [eax]
xor ecx, ecx
push 0x30
pop edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], edx
mov dword [ebp + 0x48], eax
cmp word [eax], cx
mov dword [ebp + 0x1c], ecx
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x24], ecx
mov dword [ebp + 0x28], ecx
mov ecx, dword [ebp + 0x3c]
mov esi, dword [ecx + 0xec]
sete byte [ebp + 0x67]
cmp dword [ebx + 0x220], 0
jl 0x48fdec
test byte [ebx + 0x248], 0x10
jne 0x48fdf5
test byte [ebx + 0x248], 0x20
je 0x48fdff
or byte [ebx + 0x248], 0x80
mov eax, dword [ebp + 0x48]
and dword [ebp + 0x3c], 0
jmp 0x48feb7
push dword [ebp + 0x14]
and dword [ebp + 0x74], 0
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp - 0x58]
push eax
mov dword [ebp + 0x4c], 0x80000000
mov dword [ebp + 0x44], 2
mov byte [ebp + 0x78], 0
call fcn.0048f439
add esp, 0x1c
test eax, eax
jge 0x48fe4b
cmp dword [ebp + 0x4c], 0
jl 0x48fe59
push dword [ebp + 0x4c]
mov ecx, ebx
push eax
push dword [ebp + 0x3c]
call fcn.004a6764
mov eax, dword [ebp - 0x50]
cdq
add dword [ebp + 0x1c], eax
adc dword [ebp + 0x20], edx
test esi, esi
jle 0x48fe88
push dword [ebp + 0x20]
mov eax, esi
push dword [ebp + 0x1c]
cdq
push edx
push eax
call fcn.004ad070
push 0
push 0x60
push edx
push eax
call fcn.004ad4c0
sub eax, dword [ebp + 0x24]
mov dword [ebp - 0x50], eax
push dword [ebp + 0x44]
lea eax, [ebp - 0x58]
push dword [ebp + 0x78]
mov ecx, ebx
push eax
push dword [ebp + 0x3c]
call fcn.004a472e
mov eax, dword [ebp - 0x50]
cdq
add dword [ebp + 0x24], eax
lea ecx, [ebp + 0x74]
mov dword [ebp - 0x54], edi
adc dword [ebp + 0x28], edx
call fcn.0043e48d
inc dword [ebp + 0x3c]
mov eax, dword [ebp + 0x48]
cmp word [eax], 0
jne 0x48fe08
fld qword [ebp - 0x30]
mov eax, dword [ebp + 0x3c]
fcomp qword [0x4c3958]
mov ecx, dword [ebp + 0x2c]
mov dword [ecx + 0x40], eax
fnstsw ax
test ah, 0x41
jne 0x48fee8
fld qword [ebp - 0x30]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.004a393a
cmp dword [ebp + 0x38], 0
jle 0x48fef8
push dword [ebp + 0x38]
mov ecx, ebx
call fcn.004a3947
xor eax, eax
push 0xc
pop ecx
lea edi, [ebp - 0x88]
rep stosd dword es:[edi], eax
and dword [ebp - 0x84], eax
mov eax, dword [ebp + 0x5c]
mov edi, dword [eax]
mov dword [ebp - 0x88], 0x7fffffff
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x78], 0x4bfa2c
cmp word [edi], 0
mov dword [ebp + 0x4c], edi
je 0x490065
cmp word [ebp + 0x18], 0
mov dword [ebp + 0x48], edi
lea eax, [ebp + 0x4c]
jne 0x48ff5c
call fcn.004059a0
mov edi, dword [ebp + 0x4c]
cmp word [edi], 0xd
mov eax, edi
jne 0x48ff6a
inc edi
inc edi
mov dword [ebp + 0x4c], edi
jmp 0x48ff6a
push dword [ebp + 0x18]
call fcn.004a3a6c
mov edi, dword [ebp + 0x4c]
pop ecx
mov eax, edi
cmp word [edi], 0
je 0x48ff75
inc edi
inc edi
mov dword [ebp + 0x4c], edi
xor esi, esi
cmp word [eax], si
je 0x48ff7f
mov word [eax], si
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x3c], esi
jmp 0x490050
cmp byte [ebp + 0x67], 0
jne 0x48ff9f
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x3c]
cmp ecx, dword [eax + 0x40]
jge 0x49005c
cmp byte [ebp + 0x63], 0
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x44], eax
lea eax, [ebp + 0x48]
je 0x48ffb6
push eax
call fcn.00405a01
jmp 0x48ffbe
push dword [ebp + 0x14]
call fcn.004a3a6c
pop ecx
mov ecx, dword [ebp + 0x48]
cmp word [ecx], si
je 0x48ffd2
mov word [ecx], si
mov ecx, dword [ebp + 0x48]
inc ecx
inc ecx
mov dword [ebp + 0x48], ecx
cmp byte [ebp + 0x63], 0
je 0x48ffef
cmp ecx, esi
je 0x48ffef
jmp 0x48ffe3
inc ecx
inc ecx
mov dword [ebp + 0x48], ecx
mov ax, word [ecx]
call fcn.0043e3ef
test al, al
jne 0x48ffde
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x3c]
mov eax, dword [eax + 0x40]
cmp ecx, eax
mov dword [ebp - 0x84], ecx
jl 0x49001a
mov edx, dword [ebp + 0x2c]
lea ecx, [eax + 1]
push 2
mov dword [edx + 0x40], ecx
push esi
lea ecx, [ebp - 0x58]
push ecx
push eax
mov ecx, ebx
call fcn.004a472e
cmp dword [ebp + 0x3c], esi
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0x78], eax
jne 0x490038
lea eax, [ebp - 0x8c]
push eax
mov ecx, ebx
call fcn.004a3176
mov dword [ebp + 0x38], eax
jmp 0x49004d
cmp word [eax], si
je 0x49004d
push dword [ebp + 0x44]
mov ecx, ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.0043e796
inc dword [ebp + 0x3c]
mov eax, dword [ebp + 0x48]
cmp word [eax], si
jne 0x48ff8a
cmp word [edi], si
jne 0x48ff38
push dword [ebp + 0x6c]
mov ecx, ebx
push dword [ebp + 0x68]
call fcn.00410b23
push 0x32
pop ecx
push ecx
mov eax, ecx
push eax
push 1
mov ecx, ebx
call fcn.0043e802
cmp byte [ebp + 0x57], 0
je 0x490093
push 0
push dword [ebx + 0x18]
call dword [sym.imp.user32.dll_ShowWindow]
mov ecx, dword [ebp + 0x2c]
xor eax, eax
cmp byte [ebp + 0x57], al
sete al
push eax
call fcn.00438e51
mov ecx, ebx
call fcn.004a2bb6
lea ecx, [ebp + 0x7c]
call fcn.0043e48d
push 0x4dbd30
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, dword [ebp + 0x2c]
pop edi
pop esi
pop ebx
add ebp, 0x30
leave
ret 0x48