Function at 0x49300c
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, 0x4bca2c
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.004387be
push 0x4d8d1c
mov dword [esi], 0x4c5264
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 0x493089
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.0043e171
test al, al
pop ecx
pop ecx
je 0x4930e6
mov dword [ebp + 0x4c], 0x18000000
mov eax, edx
and eax, 0x40
xor ecx, ecx
or eax, ecx
je 0x4930f5
or byte [ebp + 0x4e], 0x80
mov eax, edx
and eax, 0x80000000
xor ecx, ecx
or eax, edi
je 0x493104
mov ecx, ebx
mov eax, edx
and eax, 0x80000
xor edi, edi
or eax, edi
jne 0x493115
or dword [ebp + 0x4c], 8
or dword [ebp + 0x4c], 1
mov eax, edx
and eax, 0x2000
xor edi, edi
or eax, edi
je 0x49312a
or byte [ebp + 0x4d], 0x40
mov eax, edx
and eax, 0x1000
xor edi, edi
or eax, edi
je 0x49313b
or byte [ebp + 0x4d], 2
mov eax, edx
and eax, 0x2090000
xor edx, edx
or eax, edx
je 0x49314c
or dword [ebp + 0x4c], 4
test ecx, ecx
jle 0x493153
or dword [ebp + 0x4c], ecx
push 0x250
call fcn.004aa2e8
test eax, eax
pop ecx
je 0x493172
push esi
add esi, 0x34
push esi
mov ecx, eax
call fcn.004a3d20
mov ebx, eax
jmp 0x493174
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.004a05bc
mov ecx, ebx
call fcn.0043e037
push eax
lea ecx, [ebx + 0x84]
call fcn.0049fef8
mov eax, dword [ebp + 0x68]
and eax, 0x4800
xor ecx, ecx
cmp eax, 0x4000
jne 0x4931ec
test ecx, ecx
jne 0x4931ec
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 0x493203
or byte [ebx + 0x248], 1
lea ecx, [ebp + 0x7c]
call fcn.004441a1
mov edi, dword [ebp + 0x60]
cmp word [edi], 0x3d
jne 0x493247
inc edi
inc edi
push 0x3a
lea eax, [ebp + 0x60]
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x4c], edi
call fcn.00405636
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.004442c5
cmp word [edi], si
je 0x493247
inc edi
inc edi
mov dword [ebp + 0x60], edi
mov ecx, dword [ebp + 0x3c]
call fcn.00497029
fld qword [0x4c2e68]
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 0x493276
mov word [edi], si
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004474c5
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
push 2
pop edi
jne 0x493296
add eax, edi
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x50], eax
push 0x3a
lea eax, [ebp + 0x50]
call fcn.00405636
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
je 0x4932b2
mov word [eax], si
add dword [ebp + 0x50], edi
fld qword [0x4c2e68]
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.004474c5
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4933a4
add dword [ebp + 0x50], edi
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.0044073a
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4933a4
add dword [ebp + 0x50], edi
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.004474c5
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4933a4
add dword [ebp + 0x50], edi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.004474c5
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4933a4
add dword [ebp + 0x50], edi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.004474c5
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4933a4
add dword [ebp + 0x50], edi
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.004474c5
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4933a4
add dword [ebp + 0x50], edi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.004474c5
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4933a4
add dword [ebp + 0x50], edi
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.0044756b
pop ecx
pop ecx
fld qword [ebp + 0x24]
mov esi, dword [sym.imp.GDI32.dll_GetObjectW]
fcomp qword [0x4c0950]
fnstsw ax
test ah, 0x41
je 0x4933ce
mov eax, dword [ebp + 0x60]
cmp word [eax], 0
jne 0x4933ce
cmp word [ebp + 0x78], 0
je 0x493460
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 [0x4c0950]
fnstsw ax
test ah, 0x41
jne 0x49341b
fld qword [ebp + 0xc]
push ecx
push ecx
fstp qword [esp]
call fcn.0044378c
pop ecx
pop ecx
mov dword [ebp - 0xe8], eax
fld qword [ebp - 0x14]
fcomp qword [0x4c0950]
fnstsw ax
test ah, 0x41
jne 0x493440
fld qword [ebp - 0x14]
push ecx
push ecx
fstp qword [esp]
call fcn.0044378c
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.00489d0b
add esp, 0xc
test eax, eax
mov dword [ebx + 0x48], eax
je 0x493460
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.0043e088
lea ecx, [ebp + 0xc]
call fcn.0040104d
push dword [ebp + 0x60]
lea eax, [ebp + 0x24]
push eax
push dword [ebp + 0x4c]
call fcn.0048edea
fld qword [ebp + 0x24]
fcomp qword [0x4c0950]
mov dword [ebx + 0x150], eax
add esp, 0xc
fnstsw ax
test ah, 0x41
jne 0x4934b8
fld qword [ebp + 0x24]
fstp qword [ebx + 0x230]
fld qword [ebp - 0x14]
fcomp qword [0x4c0950]
fnstsw ax
test ah, 0x41
jne 0x4934d1
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 0x4934f7
movzx edx, al
jmp 0x4934fa
or edx, 0xffffffff
test eax, eax
jl 0x493503
movzx ecx, ah
jmp 0x493506
or ecx, 0xffffffff
test eax, eax
jl 0x493512
sar eax, 0x10
movzx eax, al
jmp 0x493515
or eax, 0xffffffff
fld qword [ebp - 0x38]
push ecx
fstp dword [esp]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.004a0dce
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 [0x4c8770]
fstp qword [ebp + 4]
fld qword [ebp - 0x1c]
fcomp qword [0x4c0950]
fnstsw ax
test ah, 0x41
jne 0x493576
fld qword [ebp - 0x1c]
push ecx
push ecx
fstp qword [esp]
call fcn.0044378c
pop ecx
pop ecx
mov dword [ebp - 0x144], eax
fld qword [ebp - 0x28]
fcomp qword [0x4c0950]
fnstsw ax
test ah, 0x41
jne 0x49359b
fld qword [ebp - 0x28]
push ecx
push ecx
fstp qword [esp]
call fcn.0044378c
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.00489d0b
mov dword [ebx + 0x120], eax
mov eax, dword [ebp + 0x68]
and eax, 0x80
xor ecx, ecx
add esp, 0xc
or eax, ecx
je 0x4935cc
or byte [ebx + 0x248], 4
mov ecx, dword [ebp + 0x68]
mov eax, ecx
and eax, 0x100
xor edx, edx
or eax, edx
je 0x4935e3
or byte [ebx + 0x248], 8
mov eax, ecx
and eax, 0x3800200
xor edx, edx
xor esi, esi
or eax, edx
jne 0x4935f3
inc esi
mov eax, ecx
mov edi, 0x400
and eax, edi
xor edx, edx
or eax, edx
je 0x493605
or esi, 4
mov eax, ecx
and eax, 0x4000
xor edx, edx
or eax, edx
je 0x493619
or byte [ebx + 0x248], 1
cmp dword [ebp - 0x20], 0
je 0x493622
or esi, 0x10
mov eax, ecx
and eax, 0x20000
xor ecx, ecx
or eax, ecx
je 0x493635
or esi, 0x8000
mov ecx, ebx
call fcn.0043e075
or esi, eax
mov eax, dword [ebp + 0x68]
and eax, 0x600000
xor ecx, ecx
or eax, ecx
je 0x49364f
or esi, 4
push esi
mov ecx, ebx
call fcn.004a0628
mov eax, dword [ebp + 0x68]
and eax, 0x10000
xor ecx, ecx
or eax, ecx
je 0x49366f
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 0x493686
or byte [ebx + 0x248], 2
mov eax, edx
and eax, 0x80000
xor ecx, ecx
or eax, ecx
je 0x49369a
or byte [ebx + 0x248], 0x20
mov eax, edx
and eax, 0x100000
xor ecx, ecx
or eax, ecx
je 0x4936ae
or byte [ebx + 0x248], 0x40
mov eax, edx
and eax, 0x200000
xor ecx, ecx
or eax, ecx
je 0x4936c2
or word [ebx + 0x248], di
mov eax, edx
and eax, 0x400000
xor ecx, ecx
or eax, ecx
je 0x4936d6
or byte [ebx + 0x249], 0xc
mov eax, edx
and eax, 0x800000
xor ecx, ecx
or eax, ecx
je 0x4936ea
or byte [ebx + 0x249], 0x18
mov eax, edx
and eax, 0x1000000
xor ecx, ecx
or eax, ecx
je 0x4936fe
or byte [ebx + 0x249], 0x28
mov al, byte [ebp + 0x20]
and al, 1
mov byte [ebp + 0x63], al
je 0x49370f
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.0044703c
cmp dword [ebp - 0xc], 0
pop ecx
pop ecx
jl 0x49374f
push dword [ebp - 0xc]
mov ecx, ebx
call fcn.0043e088
mov eax, dword [ebp - 8]
test eax, eax
jl 0x493764
push eax
mov ecx, ebx
mov dword [ebx + 0x21c], eax
call fcn.0043e09f
mov eax, dword [ebp - 4]
test eax, eax
jl 0x493779
push eax
mov ecx, ebx
mov dword [ebx + 0x218], eax
call fcn.004a0e28
mov eax, dword [ebp]
cmp eax, esi
jne 0x4937e2
mov eax, dword [ebp + 0x68]
and eax, 0x50000
xor ecx, ecx
or eax, ecx
jne 0x4937d6
push 0x23
pop edi
push edi
lea eax, [ebp + 0x4c]
call fcn.00405636
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
pop ecx
jne 0x4937b1
add dword [ebp + 0x4c], 2
push edi
lea eax, [ebp + 0x4c]
call fcn.00405636
pop ecx
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
jne 0x4937c7
add dword [ebp + 0x4c], 2
push edi
lea eax, [ebp + 0x4c]
call fcn.00405636
pop ecx
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
jne 0x4937e8
cmp word [eax + 2], 0x2a
jne 0x4937e8
push 0xd
call dword [sym.imp.USER32.dll_GetSysColor]
cmp eax, esi
je 0x4937e8
mov dword [ebx + 0x220], eax
xor ecx, ecx
cmp dword [ebx + 0x220], ecx
jl 0x493805
mov eax, dword [ebp + 0x68]
and eax, 0x10000
or eax, ecx
je 0x493805
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 0x493852
test byte [ebx + 0x248], 0x10
jne 0x49385b
test byte [ebx + 0x248], 0x20
je 0x493865
or byte [ebx + 0x248], 0x80
mov eax, dword [ebp + 0x48]
and dword [ebp + 0x3c], 0
jmp 0x49391d
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.00489b9e
add esp, 0x1c
test eax, eax
jge 0x4938b1
cmp dword [ebp + 0x4c], 0
jl 0x4938bf
push dword [ebp + 0x4c]
mov ecx, ebx
push eax
push dword [ebp + 0x3c]
call fcn.004a3bc4
mov eax, dword [ebp - 0x50]
cdq
add dword [ebp + 0x1c], eax
adc dword [ebp + 0x20], edx
test esi, esi
jle 0x4938ee
push dword [ebp + 0x20]
mov eax, esi
push dword [ebp + 0x1c]
cdq
push edx
push eax
call fcn.004aa1b0
push 0
push 0x60
push edx
push eax
call fcn.004aa670
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.004a1bc4
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.0043dd41
inc dword [ebp + 0x3c]
mov eax, dword [ebp + 0x48]
cmp word [eax], 0
jne 0x49386e
fld qword [ebp - 0x30]
mov eax, dword [ebp + 0x3c]
fcomp qword [0x4c0950]
mov ecx, dword [ebp + 0x2c]
mov dword [ecx + 0x40], eax
fnstsw ax
test ah, 0x41
jne 0x49394e
fld qword [ebp - 0x30]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.004a0e05
cmp dword [ebp + 0x38], 0
jle 0x49395e
push dword [ebp + 0x38]
mov ecx, ebx
call fcn.004a0e12
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], 0x4bca2c
cmp word [edi], 0
mov dword [ebp + 0x4c], edi
je 0x493acb
cmp word [ebp + 0x18], 0
mov dword [ebp + 0x48], edi
lea eax, [ebp + 0x4c]
jne 0x4939c2
call fcn.004143d1
mov edi, dword [ebp + 0x4c]
cmp word [edi], 0xd
mov eax, edi
jne 0x4939d0
inc edi
inc edi
mov dword [ebp + 0x4c], edi
jmp 0x4939d0
push dword [ebp + 0x18]
call fcn.00405636
mov edi, dword [ebp + 0x4c]
pop ecx
mov eax, edi
cmp word [edi], 0
je 0x4939db
inc edi
inc edi
mov dword [ebp + 0x4c], edi
xor esi, esi
cmp word [eax], si
je 0x4939e5
mov word [eax], si
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x3c], esi
jmp 0x493ab6
cmp byte [ebp + 0x67], 0
jne 0x493a05
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x3c]
cmp ecx, dword [eax + 0x40]
jge 0x493ac2
cmp byte [ebp + 0x63], 0
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x44], eax
lea eax, [ebp + 0x48]
je 0x493a1c
push eax
call fcn.00405676
jmp 0x493a24
push dword [ebp + 0x14]
call fcn.00405636
pop ecx
mov ecx, dword [ebp + 0x48]
cmp word [ecx], si
je 0x493a38
mov word [ecx], si
mov ecx, dword [ebp + 0x48]
inc ecx
inc ecx
mov dword [ebp + 0x48], ecx
cmp byte [ebp + 0x63], 0
je 0x493a55
cmp ecx, esi
je 0x493a55
jmp 0x493a49
inc ecx
inc ecx
mov dword [ebp + 0x48], ecx
mov ax, word [ecx]
call fcn.0043dca3
test al, al
jne 0x493a44
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x3c]
mov eax, dword [eax + 0x40]
cmp ecx, eax
mov dword [ebp - 0x84], ecx
jl 0x493a80
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.004a1bc4
cmp dword [ebp + 0x3c], esi
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0x78], eax
jne 0x493a9e
lea eax, [ebp - 0x8c]
push eax
mov ecx, ebx
call fcn.004a0642
mov dword [ebp + 0x38], eax
jmp 0x493ab3
cmp word [eax], si
je 0x493ab3
push dword [ebp + 0x44]
mov ecx, ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.0043e04a
inc dword [ebp + 0x3c]
mov eax, dword [ebp + 0x48]
cmp word [eax], si
jne 0x4939f0
cmp word [edi], si
jne 0x49399e
push dword [ebp + 0x6c]
mov ecx, ebx
push dword [ebp + 0x68]
call fcn.004a063f
push 0x32
pop ecx
push ecx
mov eax, ecx
push eax
push 1
mov ecx, ebx
call fcn.0043e0b6
cmp byte [ebp + 0x57], 0
je 0x493af9
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.004386c0
mov ecx, ebx
call fcn.0049ffc4
lea ecx, [ebp + 0x7c]
call fcn.0043dd41
push 0x4d8d1c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x2c]
pop edi
pop esi
pop ebx
add ebp, 0x30
leave
ret 0x48