Function at 0x473f14
Capabilities:
Create directory
Delete file

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffcdc
mov ebp, ecx
mov esi, eax
xor edi, edi
cmp byte [esi + 0x1f6], 0
je 0x473f34
mov byte [esi + 0x1f7], 1
mov ebx, edx
mov eax, dword [0x4be850]
cmp byte [eax], 0
je 0x473f50
mov eax, ebx
call fcn.00473d6c
mov edx, eax
mov eax, ebx
call fcn.00473da4
mov eax, ebx
call fcn.00473d6c
test al, al
je 0x473f62
mov eax, dword [0x4bef6c]
inc byte [eax]
movzx eax, bx
cmp eax, 0x66
jg 0x4740ff
je 0x474b24
add eax, 0xfffffff8
cmp eax, 0x5d
ja case.0x4742d0.9906
jmp dword [eax*4 + 0x473f87]
cmp eax, 0xa1
jg 0x474207
je 0x474fba
add eax, 0xffffff99
cmp eax, 0x38
ja case.0x4742d0.9906
jmp dword [eax*4 + 0x474123]
cmp eax, 0xb3
jg 0x47426d
je 0x4750e5
add eax, 0xffffff5e
cmp eax, 0x10
ja case.0x4742d0.9906
jmp dword [eax*4 + 0x474229]
cmp eax, 0x26ad
jg 0x4742c2
je 0x4751da
cmp eax, 0x26aa
jg 0x4742ab
je 0x4751ac
sub eax, 0xb6
je 0x4750f1
sub eax, 0x12
je 0x47518b
sub eax, 0x25e1
je 0x47519e
jmp case.0x4742d0.9906
sub eax, 0x26ab
je 0x4751bf
dec eax
je 0x4751cb
jmp case.0x4742d0.9906
add eax, 0xffffd952
cmp eax, 5
ja case.0x4742d0.9906
jmp dword [eax*4 + 0x4742d7]
cmp byte [esi + 0x442], 0
jne 0x474311
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x5c], 0
jne 0x474311
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0xc]
mov eax, dword [0x4be538]
call fcn.004b81b0
mov edi, 1
jmp 0x475bab
mov eax, esi
call fcn.00473508
jmp 0x475377
mov eax, esi
xor edx, edx
call fcn.00473240
jmp 0x475377
mov eax, esi
call fcn.0044f5d0
test al, al
je 0x475bab
cmp byte [esi + 0x442], 0
je 0x4743f1
fild qword [esi + 0x14c]
fcomp dword [0x475bb8]
fnstsw ax
sahf
jne 0x474379
mov eax, dword [0x4be508]
xor edx, edx
mov dword [eax], edx
mov eax, dword [esi + 0x2c]
dec eax
mov edx, dword [0x4bee14]
mov dword [edx], eax
jmp 0x4743f1
movsx eax, byte [esi + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [esp + 0x314], eax
fild dword [esp + 0x314]
fild qword [esi + 0x144]
fdivrp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004aefd0
mov edx, dword [0x4be508]
mov dword [edx], eax
movsx eax, byte [esi + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [esp + 0x314], eax
fild dword [esp + 0x314]
fild qword [esi + 0x14c]
fdivrp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004aefd0
mov edx, dword [0x4bee14]
mov dword [edx], eax
mov byte [esp + 0x211], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x47441c
mov edx, eax
lea eax, [esp + 0x211]
call fcn.004b81b0
lea eax, [esp + 0x211]
call fcn.004aecf0
jmp 0x474455
mov al, byte [esi + 0x442]
cmp al, 0xfe
jge 0x474455
movsx edx, al
mov ecx, dword [0x4be6ac]
cmp dword [ecx + edx*4 + 0xa8], 0
je 0x474455
movsx eax, al
mov edx, dword [0x4be6ac]
mov edx, dword [edx + eax*4 + 0xa8]
lea eax, [esp + 0x211]
call fcn.004b81b0
push 0
lea eax, [esp + 0x215]
push eax
mov ax, word [esi + 0x424]
xor ecx, ecx
mov dl, 1
call fcn.00430df8
jmp 0x475377
mov eax, esi
call fcn.0044d8c8
jmp 0x475377
mov eax, esi
mov dl, 1
call fcn.0044ce28
jmp 0x475377
mov eax, esi
call fcn.0044f5d0
test al, al
je 0x475bab
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0x1a0]
call dword [edx + 0x10]
test al, al
je 0x475377
mov ax, word [esi + 0x424]
call fcn.00439960
jmp 0x475377
mov eax, esi
call fcn.0046e0a8
jmp 0x475377
mov eax, esi
call fcn.0045b24c
jmp 0x475377
mov eax, esi
call fcn.0045b2f0
jmp 0x475377
mov eax, esi
xor edx, edx
call fcn.0045bc08
jmp 0x475377
mov eax, esi
xor edx, edx
call fcn.0045bb28
jmp 0x475377
mov eax, esi
xor edx, edx
call fcn.0045beec
jmp 0x475377
mov al, 1
call fcn.0042a67c
call fcn.00427d08
mov eax, esi
call fcn.0044cdc4
jmp 0x475377
cmp byte [esi + 0x442], 0
jne 0x475bab
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x5c], 0
jne 0x475bab
cmp byte [esi + 0x438], 0
jne 0x475bab
fild qword [esi + 0x14c]
fcomp dword [0x475bb8]
fnstsw ax
sahf
jbe 0x47456c
mov eax, esi
call fcn.0045ace8
jmp 0x475377
mov eax, esi
call fcn.0046fbdc
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, dword [esi + 0xc]
call fcn.00419fb0
test al, al
je 0x475377
mov eax, esi
call fcn.0046fbdc
add esp, 0xfffffff8
fistp qword [esp]
wait
mov ax, word [esi + 0x424]
mov dl, 1
call fcn.0042d280
mov eax, esi
xor edx, edx
call fcn.0044e848
jmp 0x475377
mov eax, esi
call fcn.0045c41c
jmp 0x475377
mov eax, esi
call fcn.00467bd0
jmp 0x475377
push 1
mov eax, esi
mov cl, 1
xor edx, edx
call fcn.00456534
jmp 0x475377
push 1
mov eax, esi
xor ecx, ecx
mov dl, 1
call fcn.004711bc
jmp 0x475377
mov eax, dword [0x4be784]
mov al, byte [eax + 0x18f1]
test al, al
je 0x475377
cmp byte [esi + 0x442], 0
jne 0x475377
mov edx, dword [0x4be784]
mov edx, dword [esi + 0xc]
cmp al, byte [edx + 0xd2]
je 0x475377
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x5c], 0
jne 0x475377
push 0x7f8a
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
mov eax, esi
call fcn.0044f5d0
movsx eax, word [esi + 0x424]
push eax
call fcn.00438d08
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
jmp 0x475377
mov eax, dword [0x4be828]
mov byte [eax], 1
mov eax, esi
call fcn.0045b2f0
jmp 0x475377
mov eax, dword [0x4be828]
mov byte [eax], 2
mov eax, esi
call fcn.0045b2f0
jmp 0x475377
mov eax, dword [0x4be828]
mov byte [eax], 3
mov eax, esi
call fcn.0045b2f0
jmp 0x475377
push 0
mov eax, esi
xor ecx, ecx
mov dl, 1
call fcn.004711bc
jmp 0x475377
push 0
mov eax, esi
xor ecx, ecx
mov dl, 2
call fcn.004711bc
jmp 0x475377
cmp byte [esi + 0x442], 0
je 0x4746fc
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x96], 4
je 0x4746fc
mov ax, 0x2f2
call fcn.004aa600
mov edx, 3
call fcn.004b12a8
jmp 0x475bab
mov dl, 0x14
mov ax, 0x18
call fcn.0048841c
dec eax
jne 0x475377
mov eax, esi
mov dl, 3
call fcn.00471970
jmp 0x475377
cmp byte [esi + 0x442], 0
je 0x474749
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x96], 4
je 0x474749
mov ax, 0x2f2
call fcn.004aa600
mov edx, 3
call fcn.004b12a8
jmp 0x475bab
mov dl, 0x15
mov ax, 2
call fcn.0048841c
dec eax
jne 0x475377
mov eax, esi
mov dl, 4
call fcn.00471970
jmp 0x475377
mov eax, esi
call fcn.00470bb8
jmp 0x475377
mov eax, esi
call fcn.004702e4
jmp 0x475377
mov eax, esi
call fcn.00470784
jmp 0x475377
mov eax, esi
call fcn.00470ab4
jmp 0x475377
mov eax, esi
call fcn.004725b0
jmp 0x475377
push 0
push 0
mov eax, esi
mov dl, 1
call fcn.0046fc28
jmp 0x475377
mov eax, dword [esi + 0xc]
fild qword [eax + 0x10]
fsub dword [0x475bbc]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, esi
mov dl, 1
call fcn.0046fc28
jmp 0x475377
mov eax, esi
call fcn.0046f93c
jmp 0x475377
mov eax, esi
xor ecx, ecx
mov dl, 1
call fcn.0045779c
jmp 0x475377
mov eax, dword [0x4be418]
cmp byte [eax], 0
je 0x474853
mov eax, dword [0x4be418]
mov byte [eax], 0
mov eax, dword [0x4be784]
fild qword [eax + 0x16ec]
fild qword [esi + 0x3c]
fcompp
fnstsw ax
sahf
ja 0x474853
movzx eax, word [esi + 0x3fe]
mov dword [esp + 0x314], eax
fild dword [esp + 0x314]
fild qword [esi + 0x3c]
faddp st(1)
mov eax, dword [0x4be784]
fild qword [eax + 0x16ec]
fcompp
fnstsw ax
sahf
jae 0x474853
push 0
push 0
mov eax, dword [esi]
push eax
call sub.user32.dll_InvalidateRect
mov eax, esi
call fcn.0046fbdc
mov eax, dword [0x4be784]
fistp qword [eax + 0x16ec]
wait
mov eax, dword [0x4be418]
mov byte [eax], 1
mov eax, esi
call fcn.0046d258
jmp 0x475377
mov eax, dword [0x4be418]
mov byte [eax], 0
mov eax, dword [0x4be784]
fild qword [eax + 0x16ec]
fild qword [esi + 0x3c]
fcompp
fnstsw ax
sahf
ja 0x475377
movzx eax, word [esi + 0x3fe]
mov dword [esp + 0x314], eax
fild dword [esp + 0x314]
fild qword [esi + 0x3c]
faddp st(1)
mov eax, dword [0x4be784]
fild qword [eax + 0x16ec]
fcompp
fnstsw ax
sahf
jae 0x475377
push 0
push 0
mov eax, dword [esi]
push eax
call sub.user32.dll_InvalidateRect
jmp 0x475377
mov eax, dword [0x4be784]
push dword [eax + 0x16f0]
push dword [eax + 0x16ec]
mov eax, esi
mov dl, 1
call fcn.0046fc28
jmp 0x475377
mov eax, esi
mov dl, 1
call fcn.00473c98
jmp 0x475377
push dword [esi + 0x148]
push dword [esi + 0x144]
mov eax, esi
mov dl, 1
call fcn.0046fc28
jmp 0x475377
push dword [esi + 0x150]
push dword [esi + 0x14c]
mov eax, esi
mov dl, 1
call fcn.0046fc28
jmp 0x475377
mov eax, esi
call fcn.00457b64
jmp 0x475377
mov eax, esi
xor ecx, ecx
xor edx, edx
call fcn.0045779c
jmp 0x475377
mov dl, 0x41
mov ax, 3
call fcn.0048841c
dec eax
jne 0x475377
mov eax, esi
call fcn.0044f5d0
test al, al
je 0x475bab
mov ax, word [esi + 0x424]
call fcn.00438edc
test al, al
je 0x475377
call fcn.00427d08
mov ax, word [esi + 0x424]
call fcn.00447e94
mov eax, esi
call fcn.0046ee24
jmp 0x475377
mov edx, dword [0x4bef94]
mov dl, byte [edx]
xor dl, 1
mov eax, esi
mov cl, 1
call fcn.0046e108
jmp 0x475377
mov eax, esi
xor ecx, ecx
mov dl, 1
call fcn.00457900
jmp 0x475377
mov eax, esi
call fcn.0046f624
jmp 0x475377
mov eax, esi
call fcn.0046fbdc
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, esi
call fcn.0044de40
mov eax, dword [esi + 0x20]
dec eax
movzx edx, word [esi + 0x3fe]
imul edx
mov dword [esp + 0x318], eax
xor eax, eax
mov dword [esp + 0x31c], eax
fild qword [esp + 0x318]
fistp qword [esp]
wait
push dword [esp + 4]
push dword [esp + 4]
mov eax, esi
mov dl, 1
call fcn.0044dd48
push dword [esp + 4]
push dword [esp + 4]
mov eax, esi
mov dl, 1
call fcn.0046fc28
jmp 0x475377
mov eax, esi
call fcn.0046fbdc
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, esi
call fcn.0044de40
mov eax, dword [esi + 0x20]
movzx edx, word [esi + 0x3fe]
imul edx
dec eax
mov dword [esp + 0x318], eax
xor eax, eax
mov dword [esp + 0x31c], eax
fild qword [esp + 0x318]
fistp qword [esp]
wait
mov eax, dword [esi + 0xc]
fild qword [eax + 0x10]
fsub dword [0x475bbc]
fild qword [esp]
fcompp
fnstsw ax
sahf
jbe 0x474aa7
mov eax, dword [esi + 0xc]
fild qword [eax + 0x10]
fsub dword [0x475bbc]
fistp qword [esp]
wait
push dword [esp + 4]
push dword [esp + 4]
mov eax, esi
mov dl, 1
call fcn.0044dd48
push dword [esp + 4]
push dword [esp + 4]
mov eax, esi
mov dl, 1
call fcn.0046fc28
jmp 0x475377
mov eax, esi
xor ecx, ecx
xor edx, edx
call fcn.00457900
jmp 0x475377
mov eax, esi
mov cl, 1
xor edx, edx
call fcn.00457900
jmp 0x475377
mov word [esi + 0x42a], 1
mov eax, esi
call fcn.0046d694
jmp 0x475377
movzx edx, word [esi + 0x42c]
mov eax, esi
call fcn.00417bec
mov word [esi + 0x42a], ax
mov eax, esi
call fcn.0046d694
jmp 0x475377
mov eax, esi
xor edx, edx
call fcn.0044ccdc
jmp 0x475377
mov eax, esi
mov dl, 1
call fcn.0044ccdc
jmp 0x475377
mov eax, esi
mov dl, 2
call fcn.0044ccdc
jmp 0x475377
mov edx, dword [0x4bef94]
mov dl, byte [edx]
xor dl, 1
mov eax, esi
mov cl, 1
call fcn.0046e108
jmp 0x475377
mov eax, dword [0x4be784]
cmp byte [eax + 0x189e], 2
jne 0x474b83
mov eax, esi
mov dl, 2
call fcn.0044ccdc
jmp 0x475377
mov eax, dword [0x4be784]
cmp byte [eax + 0x188a], 0
je 0x474b9f
mov eax, esi
xor edx, edx
call fcn.0044ccdc
jmp 0x475377
mov eax, esi
mov dl, 1
call fcn.0044ccdc
jmp 0x475377
lea ecx, [esi + 0x15c]
mov al, byte [esi + 0x442]
mov dl, 1
call fcn.004a7190
mov eax, dword [0x4be9c0]
mov word [eax], 0
mov eax, esi
call fcn.0046fbdc
add esp, 0xfffffff8
fistp qword [esp]
wait
mov dx, word [esi + 0x424]
mov al, 1
call fcn.00425aac
mov eax, dword [0x4be784]
cmp byte [eax + 0x185a], 0
jne 0x474c02
mov eax, dword [0x4be784]
cmp byte [eax + 0x185b], 0
je 0x474c09
mov eax, esi
call fcn.0044f078
cmp dword [esi + 0x4c], 0
je 0x475377
cmp byte [esi + 0x43b], 0
jne 0x475377
push 0
mov eax, esi
xor ecx, ecx
xor edx, edx
call fcn.00455090
push 0
mov eax, esi
xor ecx, ecx
xor edx, edx
call fcn.00455090
jmp 0x475377
mov eax, esi
xor ecx, ecx
xor edx, edx
call fcn.0045d338
jmp 0x475377
mov eax, dword [esi + 0x20]
dec eax
movzx edx, word [esi + 0x3fe]
imul edx
mov dword [esp + 0x318], eax
xor eax, eax
mov dword [esp + 0x31c], eax
fild qword [esp + 0x318]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, esi
mov dl, 1
call fcn.0046fc28
jmp 0x475377
mov eax, dword [esi + 0x20]
movzx edx, word [esi + 0x3fe]
imul edx
dec eax
mov dword [esp + 0x318], eax
xor eax, eax
mov dword [esp + 0x31c], eax
fild qword [esp + 0x318]
fistp qword [esp]
wait
mov eax, dword [esi + 0xc]
fild qword [eax + 0x10]
fsub dword [0x475bbc]
fild qword [esp]
fcompp
fnstsw ax
sahf
jbe 0x474cd6
mov eax, dword [esi + 0xc]
fild qword [eax + 0x10]
fsub dword [0x475bbc]
fistp qword [esp]
wait
push dword [esp + 4]
push dword [esp + 4]
mov eax, esi
mov dl, 1
call fcn.0046fc28
jmp 0x475377
push 0
mov eax, esi
mov cl, 1
mov dl, 1
call fcn.0046cdec
jmp 0x475377
mov eax, dword [0x4be810]
mov byte [eax], 0x17
mov eax, esi
call fcn.0046f544
cmp byte [esi + 0x442], 0
je 0x474d1d
mov eax, esi
call fcn.0046ee24
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x474d2e
push 0xffffffffffffffff
push 0
push eax
call sub.user32.dll_InvalidateRect
call fcn.00427d08
mov eax, esi
xor edx, edx
call fcn.00475bc0
test al, al
je 0x474d51
mov ax, word [esi + 0x424]
call fcn.0044b340
jmp 0x475377
cmp dword [esi + 0x1e4], 0
je 0x475377
mov eax, esi
call fcn.00453e58
jmp 0x475377
mov eax, esi
call fcn.00469e0c
jmp 0x475377
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [esi + 0x50]
mov eax, esi
xor edx, edx
call fcn.00455b60
jmp 0x475377
mov eax, esi
call fcn.0046fa24
jmp 0x475377
mov dl, 0x1b
mov ax, 0x26
call fcn.0048841c
dec eax
jne 0x475377
push 0
push 0
mov eax, dword [esi]
push eax
call sub.user32.dll_InvalidateRect
jmp 0x475377
mov eax, dword [0x4beecc]
cmp byte [eax], 0
je 0x474de3
mov eax, dword [esi]
push eax
call sub.user32.dll_SetFocus
jmp 0x475bab
mov eax, esi
call fcn.0046aa90
jmp 0x475377
mov eax, esi
xor edx, edx
call fcn.004687f8
jmp 0x475377
mov eax, esi
mov dl, 1
call fcn.004687f8
jmp 0x475377
cmp byte [esi + 0x438], 0
jne 0x475bab
push 1
mov ecx, dword [esi + 0x174]
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0xc]
mov al, byte [esi + 0x442]
call fcn.0044f894
test al, al
je 0x475bab
mov eax, esi
call fcn.0046ee24
jmp 0x475377
mov eax, dword [esi + 0xc]
call fcn.004192f8
mov eax, dword [0x4be4c4]
fistp qword [eax]
wait
mov eax, dword [0x4be4c4]
fild qword [eax]
fcomp dword [0x475bb8]
fnstsw ax
sahf
jbe 0x474e7a
mov eax, dword [0x4be4c4]
push dword [eax + 4]
push dword [eax]
mov eax, esi
xor edx, edx
call fcn.0046fc28
mov ax, word [esi + 0x424]
call fcn.00447e94
cmp dword [esi + 0x4c], 0
je 0x475377
mov eax, dword [esi]
push eax
call sub.user32.dll_SetFocus
jmp 0x475377
mov eax, dword [esi + 0xc]
call fcn.00419350
mov eax, dword [0x4be4c4]
fistp qword [eax]
wait
mov eax, dword [0x4be4c4]
fild qword [eax]
fcomp dword [0x475bb8]
fnstsw ax
sahf
jbe 0x474ed2
mov eax, dword [0x4be4c4]
push dword [eax + 4]
push dword [eax]
mov eax, esi
xor edx, edx
call fcn.0046fc28
mov ax, word [esi + 0x424]
call fcn.00447e94
cmp dword [esi + 0x4c], 0
je 0x475377
mov eax, dword [esi]
push eax
call sub.user32.dll_SetFocus
jmp 0x475377
mov eax, esi
call fcn.00466a48
jmp 0x475377
mov eax, esi
mov dl, 3
call fcn.00464518
jmp 0x475377
mov eax, esi
mov dl, 4
call fcn.00464518
jmp 0x475377
mov eax, esi
call fcn.0044e664
jmp 0x475377
cmp byte [esi + 0x44a], 0
je 0x475377
mov eax, esi
call fcn.0046fbdc
fsub dword [0x475bbc]
fistp qword [esp]
wait
push dword [esp + 4]
push dword [esp + 4]
mov eax, esi
xor edx, edx
call fcn.0046fc28
push dword [esp + 4]
push dword [esp + 4]
mov eax, dword [esi + 0xc]
call fcn.00419fb0
test al, al
je 0x475377
push dword [esp + 4]
push dword [esp + 4]
mov ax, word [esi + 0x424]
mov dl, 1
call fcn.0042d280
mov eax, esi
xor edx, edx
call fcn.0044e848
jmp 0x475377
mov eax, dword [0x4be828]
mov byte [eax], 4
mov eax, esi
call fcn.0045b2f0
jmp 0x475377
push 0
mov eax, esi
xor ecx, ecx
xor edx, edx
call fcn.00463070
jmp 0x475377
mov eax, esi
call fcn.00467308
jmp 0x475377
mov eax, esi
call fcn.00473a4c
jmp 0x475377
mov eax, esi
xor ecx, ecx
mov edx, 9
call fcn.0044e910
jmp 0x475377
push 0
mov eax, esi
xor ecx, ecx
mov dl, 1
call fcn.00463070
jmp 0x475377
mov eax, dword [esi + 0xc]
mov dx, 0x26fa
call fcn.0044d2d4
jmp 0x475377
mov eax, esi
call fcn.004500c4
jmp 0x475377
mov eax, esi
call fcn.0046bcfc
jmp 0x475377
dec ebp
je 0x47502f
mov eax, dword [0x4be784]
mov byte [eax + 0xa45], 1
push 0
mov eax, esi
xor ecx, ecx
xor edx, edx
call fcn.00455090
jmp 0x475377
mov eax, esi
mov cl, 1
xor edx, edx
call fcn.0045779c
jmp 0x475377
mov eax, esi
xor edx, edx
call fcn.00465a7c
jmp 0x475377
mov eax, esi
mov cl, 1
xor edx, edx
call fcn.004654a4
jmp 0x475377
mov eax, esi
call fcn.0044d6c4
jmp 0x475377
cmp byte [esi + 0x442], 0
je 0x475bab
mov eax, dword [0x4be784]
mov byte [eax + 0x1894], 6
mov eax, dword [0x4be784]
mov byte [eax + 0x1895], 1
mov eax, esi
xor ecx, ecx
mov dl, 1
call fcn.0045779c
jmp 0x475377
cmp byte [esi + 0x442], 0
je 0x475bab
mov eax, dword [0x4be784]
mov byte [eax + 0x1894], 6
mov eax, dword [0x4be784]
mov byte [eax + 0x1895], 2
mov eax, esi
xor ecx, ecx
mov dl, 1
call fcn.0045779c
jmp 0x475377
mov eax, esi
call fcn.0046f724
jmp 0x475377
mov eax, dword [0x4be784]
cmp byte [eax + 0x18ae], 0
je 0x475124
mov eax, dword [0x4be784]
mov byte [eax + 0x18ae], 0
mov eax, dword [esi + 0x1e4]
test eax, eax
je 0x475377
push eax
call sub.user32.dll_DestroyWindow
jmp 0x475377
cmp dword [esi + 0x4c], 0
jne 0x47513e
push 0
push 0xac
push 0x111
mov eax, dword [esi]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [0x4be784]
mov byte [eax + 0x18ae], 1
cmp dword [esi + 0x1e4], 0
jne 0x475168
mov eax, dword [0x4be784]
cmp byte [eax + 0x18ae], 0
je 0x475168
mov eax, esi
call fcn.004538e0
cmp dword [esi + 0x1e4], 0
je 0x475377
push 0
push 0x14d
push 0xe
mov eax, dword [esi]
push eax
call sub.user32.dll_SetTimer
jmp 0x475377
push 0
push 0
push 0x10
mov eax, dword [esi]
push eax
call sub.user32.dll_SendMessageA
jmp 0x475377
lea eax, [esp + 8]
call fcn.00485860
jmp 0x475377
push 0
push 0
push 0x10
mov eax, dword [esi]
push eax
call sub.user32.dll_PostMessageA
jmp 0x475377
mov al, 0xc
call fcn.004b0608
jmp 0x475377
mov eax, dword [0x4be420]
call fcn.0042a224
jmp 0x475377
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x12]
push eax
lea eax, [esp + 0x18]
push eax
mov eax, esi
mov ecx, dword [0x4c13cc]
xor edx, edx
call fcn.00458b14
cmp al, 1
jne 0x475377
movzx eax, word [esp + 0xe]
dec eax
mov edx, dword [0x4beee0]
movzx edx, word [edx]
imul edx
mov dword [esp + 0x314], eax
fild dword [esp + 0x314]
fild qword [esi + 0x3c]
faddp st(1)
movzx eax, word [esp + 0xc]
mov dword [esp + 0x320], eax
fild dword [esp + 0x320]
faddp st(1)
fsub dword [0x475bbc]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, esi
mov dl, 1
call fcn.00459324
jmp 0x475377
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x12]
push eax
lea eax, [esp + 0x18]
push eax
mov eax, esi
mov ecx, dword [0x4c13cc]
xor edx, edx
call fcn.00458b14
cmp al, 1
jne 0x475377
movzx eax, word [esp + 0xe]
dec eax
mov edx, dword [0x4beee0]
movzx edx, word [edx]
imul edx
mov dword [esp + 0x314], eax
fild dword [esp + 0x314]
fild qword [esi + 0x3c]
faddp st(1)
movzx eax, word [esp + 0xc]
mov dword [esp + 0x320], eax
fild dword [esp + 0x320]
faddp st(1)
fsub dword [0x475bbc]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, esi
mov dl, 2
call fcn.00459324
jmp 0x475377
mov eax, dword [esi]
push eax
call sub.user32.dll_IsZoomed
mov ebp, eax
movzx eax, bp
inc eax
push eax
mov eax, dword [0x4bed90]
mov eax, dword [eax]
push eax
call sub.user32.dll_GetSubMenu
mov cl, 1
mov edx, 2
call fcn.0042c6ac
mov byte [0x4c13a1], 1
push 0
mov eax, dword [0x4beb60]
mov eax, dword [eax]
push eax
push 0
mov eax, dword [0x4c13d4]
push eax
mov eax, dword [0x4c13d0]
push eax
push 0
movzx eax, bp
inc eax
push eax
mov eax, dword [0x4bed90]
mov eax, dword [eax]
push eax
call sub.user32.dll_GetSubMenu
push eax
call sub.user32.dll_TrackPopupMenu
jmp 0x475377
mov eax, esi
call fcn.0046fbdc
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, esi
mov dl, 1
call fcn.00459324
jmp 0x475377
mov eax, esi
call fcn.0046fbdc
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, esi
mov dl, 2
call fcn.00459324
jmp 0x475377
mov eax, esi
mov edx, dword [0x4c13d8]
call fcn.0045a474
jmp 0x475377
mov edi, 1
cmp bx, 0x2648
jbe 0x4753be
cmp bx, 0x2684
jae 0x4753be
movzx ecx, bx
sub ecx, 0x2648
mov eax, ecx
mov edi, 0xa
cdq
idiv edi
imul eax, eax, 0xd
mov edx, dword [0x4be734]
lea eax, [edx + eax*2]
push eax
mov eax, ecx
mov ecx, 0xa
cdq
idiv ecx
imul eax, edx, 0xd
pop edx
lea eax, [edx + eax - 0x27]
call fcn.0042a224
xor edi, edi
cmp bx, 0x26eb
je 0x4753da
cmp bx, 0x26ec
je 0x4753da
cmp bx, 0x26ed
je 0x4753da
cmp bx, 0x26ee
jne 0x4753fa
cmp byte [esi + 0x442], 0
je 0x4753ee
mov eax, esi
mov edx, ebx
call fcn.00459d40
jmp 0x4753f8
mov eax, dword [esi + 0xc]
mov edx, ebx
call fcn.0044d2d4
xor edi, edi
cmp bx, 0x2710
jb 0x47541a
cmp bx, 0x2850
jae 0x47541a
movzx edx, bx
sub edx, 0x2710
mov eax, esi
call fcn.0046b920
xor edi, edi
cmp bx, 0x26f4
jb 0x475428
cmp bx, 0x26fb
jb 0x47542f
cmp bx, 0x26f1
jne 0x475438
mov eax, esi
mov edx, ebx
call fcn.00459d40
cmp bx, 0x26fb
jb 0x475446
cmp bx, 0x2710
jb 0x47545c
cmp bx, 0x26ef
jb 0x475b99
cmp bx, 0x26f3
ja 0x475b99
cmp bx, 0x270f
jne 0x47546c
mov eax, esi
xor edx, edx
call fcn.00470128
cmp bx, 0x270e
jne 0x475524
mov eax, esi
xor edx, edx
call fcn.00470128
movsx eax, byte [esi + 0x442]
mov edx, dword [0x4be4fc]
mov al, byte [edx + eax - 1]
cmp al, 1
je 0x4754a6
movsx edx, byte [esi + 0x442]
mov ecx, dword [0x4be4fc]
cmp al, 2
jne 0x4754b6
mov eax, dword [0x4beb40]
mov eax, dword [eax + 0x94]
call fcn.004b1c50
movsx eax, byte [esi + 0x442]
mov edx, dword [0x4be4fc]
cmp byte [edx + eax - 1], 3
jne 0x4754da
mov eax, dword [0x4beb40]
mov eax, dword [eax + 0x98]
call fcn.004b1c50
movsx eax, byte [esi + 0x442]
mov edx, dword [0x4be4fc]
cmp byte [edx + eax - 1], 0xff
jne 0x4754fe
mov eax, dword [0x4beb40]
mov eax, dword [eax + 0x9c]
call fcn.004b1c50
mov edx, dword [0x4bedb0]
mov eax, dword [0x4bec94]
call fcn.004b81b0
push 1
push 0x7b
push 0x111
mov eax, dword [0x4beb60]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
cmp bx, 0x270d
jne 0x475539
movzx edx, word [esi + 0x1c0]
mov eax, esi
call fcn.00470128
cmp bx, 0x270c
jne 0x475554
movzx edx, word [esi + 0x1c0]
add edx, dword [esi + 0x1c4]
mov eax, esi
call fcn.00470128
cmp bx, 0x270b
jne 0x475599
mov al, byte [esi + 0x442]
call fcn.004ab84c
mov edx, dword [0x4bedb0]
lea eax, [esp + 0x11]
call fcn.004b81b0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 0
push 1
push 1
push 0
mov ecx, dword [esi + 0x50]
lea edx, [esp + 0x3d]
mov eax, esi
call fcn.00455b60
cmp bx, 0x270a
jne 0x4755e3
mov edx, dword [esi + 0x16c]
mov eax, esi
call fcn.00470128
mov eax, dword [0x4beb40]
mov eax, dword [eax + 0xa0]
call fcn.004b1c50
mov edx, dword [0x4bedb0]
mov eax, dword [0x4bec94]
call fcn.004b81b0
push 1
push 0x7b
push 0x111
mov eax, dword [0x4beb60]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
cmp bx, 0x26fd
jne 0x475678
mov eax, esi
call fcn.0046fbdc
mov eax, dword [0x4be4c4]
fistp qword [eax]
wait
mov eax, dword [0x4be4c4]
push dword [eax + 4]
push dword [eax]
push 0
push 0x20
call fcn.004af060
mov dword [esp + 0x314], eax
fild dword [esp + 0x314]
mov eax, dword [0x4be4c4]
fild qword [eax]
fsubrp st(1)
mov eax, dword [0x4be4c4]
fistp qword [eax]
wait
mov eax, dword [0x4be4c4]
push dword [eax + 4]
push dword [eax]
mov eax, esi
mov dl, 1
call fcn.0046fc28
mov eax, dword [0x4beb40]
mov eax, dword [eax + 0xa0]
call fcn.004b1c50
mov edx, dword [0x4bedb0]
mov eax, dword [0x4bec94]
call fcn.004b81b0
push 1
push 0x7b
push 0x111
mov eax, dword [0x4beb60]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
cmp bx, 0x2704
je 0x47568a
cmp bx, 0x2706
jne 0x4758e4
mov eax, dword [0x4be888]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4beefc]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4be6a4]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov eax, dword [0x4bec28]
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
cmp bx, 0x2704
jne 0x4756f1
push 0
mov eax, dword [0x4bedb0]
push eax
mov ecx, dword [esi + 0x24]
lea edx, [esi + 0x15c]
mov al, byte [esi + 0x442]
call fcn.004a2448
cmp al, 1
jne 0x4756f1
mov edx, dword [0x4bedb0]
mov eax, 0x4c15e4
call fcn.004b81b0
cmp bx, 0x2706
jne 0x47573e
cmp byte [0x4c15e0], 0
jne 0x47573e
mov eax, 0x4c15e4
call fcn.004aed10
mov edx, eax
lea ecx, [esp + 0x111]
mov eax, esi
call fcn.00452030
test al, al
je 0x475bab
lea edx, [esp + 0x111]
lea eax, [esp + 0x11]
call fcn.004b81b0
lea eax, [esp + 0x11]
call fcn.004aecf0
jmp 0x4757a2
mov eax, 0x4c15e4
call fcn.004aed10
mov edx, eax
mov eax, esi
call fcn.0045218c
test al, al
je 0x475bab
mov edx, dword [0x4be784]
add edx, 0x400
lea eax, [esp + 0x11]
call fcn.004b81b0
lea edx, [esp + 0x11]
lea eax, [esp + 0x111]
call fcn.004b81b0
lea eax, [esp + 0x111]
call fcn.004aedb4
mov eax, 0x4c15e4
call fcn.004aed10
push eax
lea eax, [esp + 0x115]
push eax
call sub.kernel32.dll_lstrcatA
cmp bx, 0x2705
je 0x4757b4
cmp bx, 0x2706
jne 0x475850
cmp byte [0x4c15e0], 0
je 0x475850
lea eax, [esp + 0x11]
call fcn.004aedb4
mov eax, 0x4c15e4
call fcn.004aed10
push eax
lea eax, [esp + 0x15]
push eax
call sub.kernel32.dll_lstrcatA
lea eax, [esp + 0x11]
mov dl, 1
call fcn.004acbf0
mov eax, dword [0x4be784]
cmp byte [eax + 0x187b], 0
je 0x475821
lea eax, [esp + 0x11]
call fcn.004ab508
test al, al
jne 0x475817
lea edx, [esp + 0x11]
mov ax, 3
call fcn.004acdac
jmp 0x475bab
lea eax, [esp + 0x11]
push eax
call sub.kernel32.dll_DeleteFileA_1
push 0
lea eax, [esp + 0x15]
push eax
call sub.kernel32.dll_CreateDirectoryA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x475849
lea edx, [esp + 0x11]
mov ax, 3
call fcn.004acdac
jmp 0x475bab
mov eax, dword [0x4beefc]
inc dword [eax]
mov ax, 0x2ff
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4bec98]
call fcn.004b81b0
mov eax, dword [0x4be3f4]
push eax
mov eax, dword [0x4bec98]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4bec98]
mov dl, 1
call fcn.004ad8ec
cmp bx, 0x2704
jne 0x4758aa
push 1
lea eax, [esp + 0x15]
push eax
push 0
push 0x4c15e4
lea eax, [esp + 0x121]
push eax
mov eax, esi
mov cl, 1
xor edx, edx
call fcn.0046a410
cmp bx, 0x2706
jne 0x4758da
mov al, byte [0x4c15e0]
push eax
lea eax, [esp + 0x15]
push eax
push 0
push 0x4c15e4
lea eax, [esp + 0x121]
push eax
mov eax, esi
mov cl, 1
mov dl, byte [0x4c15e0]
call fcn.0046a410
call fcn.004adbe0
call fcn.00451f90
cmp bx, 0x2705
jne 0x475907
mov al, byte [0x4c15e0]
push eax
lea eax, [esp + 0x15]
push eax
push 0
push 0
push 0
mov eax, esi
xor ecx, ecx
mov dl, 1
call fcn.0046a410
cmp bx, 0x26fb
jne 0x47591b
mov eax, esi
mov dl, byte [0x4c15e0]
call fcn.0046a870
cmp bx, 0x26ef
jne 0x475963
movsx eax, byte [esi + 0x442]
mov edx, dword [0x4be4fc]
cmp byte [edx + eax - 1], 0xff
jne 0x475947
mov eax, dword [esi + 0x24]
push eax
mov eax, esi
xor ecx, ecx
xor edx, edx
call fcn.00455090
jmp 0x475963
lea edx, [esi + 0x15c]
mov eax, dword [0x4c15d8]
call fcn.004a25d8
push eax
mov eax, esi
xor ecx, ecx
xor edx, edx
call fcn.00455090
cmp bx, 0x26f3
jne 0x475979
mov eax, dword [esi + 0x24]
push eax
mov eax, esi
xor ecx, ecx
xor edx, edx
call fcn.00455090
cmp bx, 0x26f2
jne 0x475987
mov eax, esi
call fcn.00452e00
cmp bx, 0x26f0
jne 0x4759a3
mov eax, dword [0x4be784]
mov byte [eax + 0x189a], 0xa
mov eax, esi
mov dl, 0xa
call fcn.0045308c
cmp bx, 0x2707
jne 0x475a29
lea edx, [esi + 0x15c]
mov eax, dword [esi + 0x24]
call fcn.004a2578
mov edx, dword [0x4be7b0]
mov dword [edx], eax
movsx eax, byte [esi + 0x442]
mov edx, dword [0x4be4fc]
mov cl, byte [edx + eax - 1]
mov edx, dword [0x4be7b0]
mov edx, dword [edx]
lea eax, [esi + 0x15c]
call fcn.004a3698
mov edx, dword [0x4be7b0]
mov dword [edx], eax
mov eax, dword [0x4be7b0]
cmp dword [eax], 1
jbe 0x475a29
mov eax, dword [0x4be7b0]
cmp dword [eax], 0xffffffff
je 0x475a29
lea edx, [esi + 0x15c]
mov eax, dword [0x4be7b0]
mov eax, dword [eax]
call fcn.004a25d8
mov edx, dword [0x4be7b0]
mov dword [edx], eax
mov edx, dword [0x4be7b0]
mov edx, dword [edx]
mov eax, esi
call fcn.00470128
cmp bx, 0x2708
jne 0x475a9d
lea edx, [esi + 0x15c]
mov eax, dword [esi + 0x24]
call fcn.004a2578
mov edx, dword [0x4be7b0]
mov dword [edx], eax
push 0
movsx eax, byte [esi + 0x442]
mov edx, dword [0x4be4fc]
mov cl, byte [edx + eax - 1]
mov edx, dword [0x4be7b0]
mov edx, dword [edx]
lea eax, [esi + 0x15c]
call fcn.004a3580
mov edx, dword [0x4be7b0]
mov dword [edx], eax
lea edx, [esi + 0x15c]
mov eax, dword [0x4be7b0]
mov eax, dword [eax]
call fcn.004a25d8
mov edx, dword [0x4be7b0]
mov dword [edx], eax
mov edx, dword [0x4be7b0]
mov edx, dword [edx]
mov eax, esi
call fcn.00470128
cmp bx, 0x2709
jne 0x475ad6
lea edx, [esi + 0x15c]
mov eax, dword [esi + 0x160]
inc eax
call fcn.004a25d8
mov edx, dword [0x4be7b0]
mov dword [edx], eax
mov edx, dword [0x4be7b0]
mov edx, dword [edx]
movzx eax, word [esi + 0x15e]
add edx, eax
mov eax, esi
call fcn.00470128
cmp bx, 0x2702
jne 0x475aea
push 0
mov eax, esi
xor ecx, ecx
mov dl, 1
call fcn.00470f84
cmp bx, 0x2703
jne 0x475afe
push 0
mov eax, esi
mov cl, 1
mov dl, 1
call fcn.00470f84
cmp bx, 0x2701
jne 0x475b16
push 0
push 0
push 0x40f
mov eax, dword [esi]
push eax
call sub.user32.dll_PostMessageA
cmp bx, 0x2700
jne 0x475b61
mov al, byte [esi + 0x442]
call fcn.004ab84c
mov eax, dword [0x4bee84]
mov eax, dword [eax]
push eax
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0
push 0
push 1
push 1
push 0
mov ecx, dword [esi + 0x50]
mov edx, dword [0x4bedb0]
mov eax, esi
call fcn.00455b60
cmp bx, 0x26ff
jne 0x475b75
push 0
mov eax, esi
mov cl, 1
xor edx, edx
call fcn.00470f84
cmp bx, 0x26fe
jne 0x475b89
push 0
mov eax, esi
xor ecx, ecx
xor edx, edx
call fcn.00470f84
cmp bx, 0x26fc
jne 0x475b97
mov eax, esi
call fcn.00466624
xor edi, edi
mov eax, ebx
call fcn.00473d6c
test al, al
je 0x475bab
mov eax, dword [0x4bef6c]
dec byte [eax]
mov eax, edi
add esp, 0x324
pop ebp
pop edi
pop esi
pop ebx
ret