Function at 0x490d39
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, 0x4c1a3c
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.004392ec
push 0x4ddd50
mov dword [esi], 0x4ca510
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 0x490db6
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.0043ec39
test al, al
pop ecx
pop ecx
je 0x490e13
mov dword [ebp + 0x4c], 0x18000000
mov eax, edx
and eax, 0x40
xor ecx, ecx
or eax, ecx
je 0x490e22
or byte [ebp + 0x4e], 0x80
mov eax, edx
and eax, 0x80000000
xor ecx, ecx
or eax, edi
je 0x490e31
mov ecx, ebx
mov eax, edx
and eax, 0x80000
xor edi, edi
or eax, edi
jne 0x490e42
or dword [ebp + 0x4c], 8
or dword [ebp + 0x4c], 1
mov eax, edx
and eax, 0x2000
xor edi, edi
or eax, edi
je 0x490e57
or byte [ebp + 0x4d], 0x40
mov eax, edx
and eax, 0x1000
xor edi, edi
or eax, edi
je 0x490e68
or byte [ebp + 0x4d], 2
mov eax, edx
and eax, 0x2090000
xor edx, edx
or eax, edx
je 0x490e79
or dword [ebp + 0x4c], 4
test ecx, ecx
jle 0x490e80
or dword [ebp + 0x4c], ecx
push 0x250
call fcn.004aea68
test eax, eax
pop ecx
je 0x490e9f
push esi
add esi, 0x34
push esi
mov ecx, eax
call fcn.004a81b1
mov ebx, eax
jmp 0x490ea1
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.004a49e9
mov ecx, ebx
call fcn.0043eaff
push eax
lea ecx, [ebx + 0x84]
call fcn.004a43e0
mov eax, dword [ebp + 0x68]
and eax, 0x4800
xor ecx, ecx
cmp eax, 0x4000
jne 0x490f19
test ecx, ecx
jne 0x490f19
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 0x490f30
or byte [ebx + 0x248], 1
lea ecx, [ebp + 0x7c]
call fcn.00444f6c
mov edi, dword [ebp + 0x60]
cmp word [edi], 0x3d
jne 0x490f74
inc edi
inc edi
push 0x3a
lea eax, [ebp + 0x60]
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x4c], edi
call fcn.00405bbb
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.00445090
cmp word [edi], si
je 0x490f74
inc edi
inc edi
mov dword [ebp + 0x60], edi
mov ecx, dword [ebp + 0x3c]
call fcn.0049b3e0
fld qword [0x4c7fd0]
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 0x490fa3
mov word [edi], si
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00448408
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
push 2
pop edi
jne 0x490fc3
add eax, edi
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x50], eax
push 0x3a
lea eax, [ebp + 0x50]
call fcn.00405bbb
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
je 0x490fdf
mov word [eax], si
add dword [ebp + 0x50], edi
fld qword [0x4c7fd0]
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.00448408
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4910d1
add dword [ebp + 0x50], edi
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00447582
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4910d1
add dword [ebp + 0x50], edi
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00448408
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4910d1
add dword [ebp + 0x50], edi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00448408
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4910d1
add dword [ebp + 0x50], edi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00448408
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4910d1
add dword [ebp + 0x50], edi
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00448408
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4910d1
add dword [ebp + 0x50], edi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00448408
mov eax, dword [ebp + 0x50]
cmp word [eax], si
pop ecx
pop ecx
je 0x4910d1
add dword [ebp + 0x50], edi
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.004484ae
pop ecx
pop ecx
fld qword [ebp + 0x24]
mov esi, dword [sym.imp.GDI32.dll_GetObjectW]
fcomp qword [0x4c59f0]
fnstsw ax
test ah, 0x41
je 0x4910fb
mov eax, dword [ebp + 0x60]
cmp word [eax], 0
jne 0x4910fb
cmp word [ebp + 0x78], 0
je 0x49118d
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 [0x4c59f0]
fnstsw ax
test ah, 0x41
jne 0x491148
fld qword [ebp + 0xc]
push ecx
push ecx
fstp qword [esp]
call fcn.00444572
pop ecx
pop ecx
mov dword [ebp - 0xe8], eax
fld qword [ebp - 0x14]
fcomp qword [0x4c59f0]
fnstsw ax
test ah, 0x41
jne 0x49116d
fld qword [ebp - 0x14]
push ecx
push ecx
fstp qword [esp]
call fcn.00444572
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.0047bf7e
add esp, 0xc
test eax, eax
mov dword [ebx + 0x48], eax
je 0x49118d
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.0043eb50
lea ecx, [ebp + 0xc]
call fcn.0040104d
push dword [ebp + 0x60]
lea eax, [ebp + 0x24]
push eax
push dword [ebp + 0x4c]
call fcn.00485e5b
fld qword [ebp + 0x24]
fcomp qword [0x4c59f0]
mov dword [ebx + 0x150], eax
add esp, 0xc
fnstsw ax
test ah, 0x41
jne 0x4911e5
fld qword [ebp + 0x24]
fstp qword [ebx + 0x230]
fld qword [ebp - 0x14]
fcomp qword [0x4c59f0]
fnstsw ax
test ah, 0x41
jne 0x4911fe
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 0x491224
movzx edx, al
jmp 0x491227
or edx, 0xffffffff
test eax, eax
jl 0x491230
movzx ecx, ah
jmp 0x491233
or ecx, 0xffffffff
test eax, eax
jl 0x49123f
sar eax, 0x10
movzx eax, al
jmp 0x491242
or eax, 0xffffffff
fld qword [ebp - 0x38]
push ecx
fstp dword [esp]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.004a51fc
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 [0x4ccd78]
fstp qword [ebp + 4]
fld qword [ebp - 0x1c]
fcomp qword [0x4c59f0]
fnstsw ax
test ah, 0x41
jne 0x4912a3
fld qword [ebp - 0x1c]
push ecx
push ecx
fstp qword [esp]
call fcn.00444572
pop ecx
pop ecx
mov dword [ebp - 0x144], eax
fld qword [ebp - 0x28]
fcomp qword [0x4c59f0]
fnstsw ax
test ah, 0x41
jne 0x4912c8
fld qword [ebp - 0x28]
push ecx
push ecx
fstp qword [esp]
call fcn.00444572
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.0047bf7e
mov dword [ebx + 0x120], eax
mov eax, dword [ebp + 0x68]
and eax, 0x80
xor ecx, ecx
add esp, 0xc
or eax, ecx
je 0x4912f9
or byte [ebx + 0x248], 4
mov ecx, dword [ebp + 0x68]
mov eax, ecx
and eax, 0x100
xor edx, edx
or eax, edx
je 0x491310
or byte [ebx + 0x248], 8
mov eax, ecx
and eax, 0x3800200
xor edx, edx
xor esi, esi
or eax, edx
jne 0x491320
inc esi
mov eax, ecx
mov edi, 0x400
and eax, edi
xor edx, edx
or eax, edx
je 0x491332
or esi, 4
mov eax, ecx
and eax, 0x4000
xor edx, edx
or eax, edx
je 0x491346
or byte [ebx + 0x248], 1
cmp dword [ebp - 0x20], 0
je 0x49134f
or esi, 0x10
mov eax, ecx
and eax, 0x20000
xor ecx, ecx
or eax, ecx
je 0x491362
or esi, 0x8000
mov ecx, ebx
call fcn.0043eb3d
or esi, eax
mov eax, dword [ebp + 0x68]
and eax, 0x600000
xor ecx, ecx
or eax, ecx
je 0x49137c
or esi, 4
push esi
mov ecx, ebx
call fcn.004a4a55
mov eax, dword [ebp + 0x68]
and eax, 0x10000
xor ecx, ecx
or eax, ecx
je 0x49139c
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 0x4913b3
or byte [ebx + 0x248], 2
mov eax, edx
and eax, 0x80000
xor ecx, ecx
or eax, ecx
je 0x4913c7
or byte [ebx + 0x248], 0x20
mov eax, edx
and eax, 0x100000
xor ecx, ecx
or eax, ecx
je 0x4913db
or byte [ebx + 0x248], 0x40
mov eax, edx
and eax, 0x200000
xor ecx, ecx
or eax, ecx
je 0x4913ef
or word [ebx + 0x248], di
mov eax, edx
and eax, 0x400000
xor ecx, ecx
or eax, ecx
je 0x491403
or byte [ebx + 0x249], 0xc
mov eax, edx
and eax, 0x800000
xor ecx, ecx
or eax, ecx
je 0x491417
or byte [ebx + 0x249], 0x18
mov eax, edx
and eax, 0x1000000
xor ecx, ecx
or eax, ecx
je 0x49142b
or byte [ebx + 0x249], 0x28
mov al, byte [ebp + 0x20]
and al, 1
mov byte [ebp + 0x63], al
je 0x49143c
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.00447f38
cmp dword [ebp - 0xc], 0
pop ecx
pop ecx
jl 0x49147c
push dword [ebp - 0xc]
mov ecx, ebx
call fcn.0043eb50
mov eax, dword [ebp - 8]
test eax, eax
jl 0x491491
push eax
mov ecx, ebx
mov dword [ebx + 0x21c], eax
call fcn.0043eb67
mov eax, dword [ebp - 4]
test eax, eax
jl 0x4914a6
push eax
mov ecx, ebx
mov dword [ebx + 0x218], eax
call fcn.004a5256
mov eax, dword [ebp]
cmp eax, esi
jne 0x49150f
mov eax, dword [ebp + 0x68]
and eax, 0x50000
xor ecx, ecx
or eax, ecx
jne 0x491503
push 0x23
pop edi
push edi
lea eax, [ebp + 0x4c]
call fcn.00405bbb
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
pop ecx
jne 0x4914de
add dword [ebp + 0x4c], 2
push edi
lea eax, [ebp + 0x4c]
call fcn.00405bbb
pop ecx
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
jne 0x4914f4
add dword [ebp + 0x4c], 2
push edi
lea eax, [ebp + 0x4c]
call fcn.00405bbb
pop ecx
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
jne 0x491515
cmp word [eax + 2], 0x2a
jne 0x491515
push 0xd
call dword [sym.imp.USER32.dll_GetSysColor]
cmp eax, esi
je 0x491515
mov dword [ebx + 0x220], eax
xor ecx, ecx
cmp dword [ebx + 0x220], ecx
jl 0x491532
mov eax, dword [ebp + 0x68]
and eax, 0x10000
or eax, ecx
je 0x491532
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 0x49157f
test byte [ebx + 0x248], 0x10
jne 0x491588
test byte [ebx + 0x248], 0x20
je 0x491592
or byte [ebx + 0x248], 0x80
mov eax, dword [ebp + 0x48]
and dword [ebp + 0x3c], 0
jmp 0x49164a
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.00490bcc
add esp, 0x1c
test eax, eax
jge 0x4915de
cmp dword [ebp + 0x4c], 0
jl 0x4915ec
push dword [ebp + 0x4c]
mov ecx, ebx
push eax
push dword [ebp + 0x3c]
call fcn.004a8055
mov eax, dword [ebp - 0x50]
cdq
add dword [ebp + 0x1c], eax
adc dword [ebp + 0x20], edx
test esi, esi
jle 0x49161b
push dword [ebp + 0x20]
mov eax, esi
push dword [ebp + 0x1c]
cdq
push edx
push eax
call fcn.004ae930
push 0
push 0x60
push edx
push eax
call fcn.004aed80
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.004a5ff2
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.0043e825
inc dword [ebp + 0x3c]
mov eax, dword [ebp + 0x48]
cmp word [eax], 0
jne 0x49159b
fld qword [ebp - 0x30]
mov eax, dword [ebp + 0x3c]
fcomp qword [0x4c59f0]
mov ecx, dword [ebp + 0x2c]
mov dword [ecx + 0x40], eax
fnstsw ax
test ah, 0x41
jne 0x49167b
fld qword [ebp - 0x30]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.004a5233
cmp dword [ebp + 0x38], 0
jle 0x49168b
push dword [ebp + 0x38]
mov ecx, ebx
call fcn.004a5240
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], 0x4c1a3c
cmp word [edi], 0
mov dword [ebp + 0x4c], edi
je 0x4917f8
cmp word [ebp + 0x18], 0
mov dword [ebp + 0x48], edi
lea eax, [ebp + 0x4c]
jne 0x4916ef
call fcn.00405b9a
mov edi, dword [ebp + 0x4c]
cmp word [edi], 0xd
mov eax, edi
jne 0x4916fd
inc edi
inc edi
mov dword [ebp + 0x4c], edi
jmp 0x4916fd
push dword [ebp + 0x18]
call fcn.00405bbb
mov edi, dword [ebp + 0x4c]
pop ecx
mov eax, edi
cmp word [edi], 0
je 0x491708
inc edi
inc edi
mov dword [ebp + 0x4c], edi
xor esi, esi
cmp word [eax], si
je 0x491712
mov word [eax], si
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x3c], esi
jmp 0x4917e3
cmp byte [ebp + 0x67], 0
jne 0x491732
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x3c]
cmp ecx, dword [eax + 0x40]
jge 0x4917ef
cmp byte [ebp + 0x63], 0
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x44], eax
lea eax, [ebp + 0x48]
je 0x491749
push eax
call fcn.00405b76
jmp 0x491751
push dword [ebp + 0x14]
call fcn.00405bbb
pop ecx
mov ecx, dword [ebp + 0x48]
cmp word [ecx], si
je 0x491765
mov word [ecx], si
mov ecx, dword [ebp + 0x48]
inc ecx
inc ecx
mov dword [ebp + 0x48], ecx
cmp byte [ebp + 0x63], 0
je 0x491782
cmp ecx, esi
je 0x491782
jmp 0x491776
inc ecx
inc ecx
mov dword [ebp + 0x48], ecx
mov ax, word [ecx]
call fcn.0043e79e
test al, al
jne 0x491771
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x3c]
mov eax, dword [eax + 0x40]
cmp ecx, eax
mov dword [ebp - 0x84], ecx
jl 0x4917ad
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.004a5ff2
cmp dword [ebp + 0x3c], esi
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0x78], eax
jne 0x4917cb
lea eax, [ebp - 0x8c]
push eax
mov ecx, ebx
call fcn.004a4a6f
mov dword [ebp + 0x38], eax
jmp 0x4917e0
cmp word [eax], si
je 0x4917e0
push dword [ebp + 0x44]
mov ecx, ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.0043eb12
inc dword [ebp + 0x3c]
mov eax, dword [ebp + 0x48]
cmp word [eax], si
jne 0x49171d
cmp word [edi], si
jne 0x4916cb
push dword [ebp + 0x6c]
mov ecx, ebx
push dword [ebp + 0x68]
call fcn.004a4a6c
push 0x32
pop ecx
push ecx
mov eax, ecx
push eax
push 1
mov ecx, ebx
call fcn.0043eb7e
cmp byte [ebp + 0x57], 0
je 0x491826
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.004391ee
mov ecx, ebx
call fcn.004a44ac
lea ecx, [ebp + 0x7c]
call fcn.0043e825
push 0x4ddd50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x2c]
pop edi
pop esi
pop ebx
add ebp, 0x30
leave
ret 0x48