Function at 0x47067c
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffff62c
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov ebx, dword [ebp + 0x20]
cmp bl, 4
je 0x4706a6
mov byte [ebp - 0xd], 1
jmp 0x4706aa
mov byte [ebp - 0xd], 0
xor eax, eax
mov al, byte [ebp + 0x24]
test eax, eax
jle 0x471422
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
dec eax
shl eax, 0xa
add eax, dword [ebp + 0x28]
mov dword [ebp - 0x28], eax
mov esi, dword [ebp - 0x28]
mov byte [ebp - 0x81], 0
lea eax, [esi + 0x1c]
cmp dword [eax], 0x400
jne 0x471422
lea eax, [esi + 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
lea eax, [esi + 0x16]
mov ax, word [eax]
mov word [ebp - 0x5c], ax
cmp bl, 2
je 0x470706
cmp bl, 3
jne 0x47071a
test byte [ebp - 0x5c], 1
je 0x471413
test byte [ebp - 0x5c], 2
jne 0x471413
cmp bl, 4
jne 0x4708b5
test byte [ebp - 0x5c], 1
jne 0x471413
lea eax, [esi + 8]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
lea eax, [esi + 0x10]
xor edx, edx
mov dword [eax], edx
lea eax, [esi + 0x18]
mov word [eax], 0x40
lea eax, [esi + 0x28]
mov word [eax], 0
lea eax, [esi + 0x30]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
lea eax, [esi + 0x14]
mov ax, word [eax]
mov word [ebp - 0x80], ax
movzx eax, word [ebp - 0x80]
add eax, esi
mov dword [eax], 0xffffffff
movzx eax, word [ebp - 0x80]
add esi, eax
add esi, 4
mov dword [ebp - 0x2c], esi
movzx eax, word [ebp - 0x80]
mov edx, 0x400
sub edx, eax
sub edx, 4
mov dword [ebp - 0x24], edx
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [0x48d550]
cmp byte [edx + eax + 0x1d79], 1
jne 0x470825
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [0x48d550]
movzx eax, byte [edx + eax + 0x1de5]
push eax
mov eax, dword [ebp - 0x24]
pop edx
mov ecx, edx
cdq
idiv ecx
test eax, eax
jle 0x470825
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x20], 1
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [0x48d550]
xor ecx, ecx
mov cl, byte [edx + eax + 0x1de5]
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [0x48d550]
movzx eax, byte [edx + eax + 0x1de5]
mov edx, dword [ebp - 0x20]
dec edx
imul edx
mov edx, dword [ebp - 0x2c]
add edx, eax
xor eax, eax
mov al, byte [ebp + 0x1c]
add eax, eax
mov esi, dword [0x48d97c]
lea eax, [esi + eax*8 - 0x10]
call fcn.0040260c
inc dword [ebp - 0x20]
dec dword [ebp - 0x8c]
jne 0x4707d2
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [0x48d550]
cmp byte [edx + eax + 0x1d79], 2
jne 0x4708a7
mov eax, dword [ebp - 0x24]
dec eax
test eax, eax
jl 0x4708a7
inc eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x20], 0
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [0x48d550]
movzx eax, byte [edx + eax*2 + 0x1d7c]
inc eax
xor edx, edx
mov dl, byte [ebp + 0x1c]
mov ecx, dword [0x48d550]
movzx edx, byte [ecx + edx*2 + 0x1d7b]
sub eax, edx
call fcn.00402dd8
xor edx, edx
mov dl, byte [ebp + 0x1c]
mov ecx, dword [0x48d550]
movzx edx, byte [ecx + edx*2 + 0x1d7b]
add eax, edx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov byte [edx + ecx], al
inc dword [ebp - 0x20]
dec dword [ebp - 0x8c]
jne 0x470850
mov eax, dword [ebp - 0xc]
inc dword [eax]
mov byte [ebp - 0xd], 1
jmp 0x471413
lea eax, [esi + 0x14]
mov ax, word [eax]
mov word [ebp - 0x5a], ax
cmp dword [ebp + 0x10], 0
jne 0x47090f
lea eax, [esi + 0x12]
cmp word [eax], 0
je 0x471413
lea eax, [esi + 0x20]
fild qword [eax]
fcomp dword [0x471430]
fnstsw ax
sahf
ja 0x471413
movzx eax, word [ebp - 0x5a]
add eax, esi
cmp word [eax], 0x10
jne 0x471422
mov byte [ebp - 0x178d], 0
mov eax, dword [ebp + 0x30]
mov dword [eax], 0xffffffff
mov eax, dword [ebp + 0x2c]
xor edx, edx
mov dword [eax], edx
jmp 0x470929
lea eax, [ebp - 0x178d]
mov edx, dword [ebp + 0x10]
call fcn.00405c48
mov eax, dword [ebp + 8]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x108c], 0
mov dword [ebp - 0x3c], 0xffffffff
mov byte [ebp - 0x7a], 0
mov byte [ebp - 0x7b], 0
lea eax, [esi + 6]
cmp word [eax], 3
jne 0x470976
lea eax, [esi + 4]
movzx eax, word [eax]
add eax, esi
add eax, 2
mov ax, word [eax]
lea edx, [esi + 0x1fe]
mov word [edx], ax
lea eax, [esi + 4]
movzx eax, word [eax]
add eax, esi
add eax, 4
mov ax, word [eax]
lea edx, [esi + 0x3fe]
mov word [edx], ax
movzx eax, word [ebp - 0x5a]
add esi, eax
cmp word [ebp - 0x5a], 0
je 0x471074
lea eax, [esi + 0x18]
mov edx, eax
add edx, 0x42
sub edx, dword [ebp - 0x28]
cmp edx, 0x400
jge 0x471074
lea edx, [esi + 4]
mov dx, word [edx]
mov word [ebp - 0x5a], dx
mov edx, esi
movzx ecx, word [edx]
mov edi, dword [0x48d498]
mov dword [edi], ecx
cmp word [edx], 0x10
jne 0x4709d6
mov dword [ebp - 0x60], eax
mov edx, eax
add edx, 8
mov dword [ebp - 0x64], edx
mov edx, eax
add edx, 0x18
mov dword [ebp - 0x68], edx
add eax, 0x20
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
cmp word [esi], 0x20
jne 0x470a5b
cmp dword [ebp + 0x10], 0
jne 0x470a5b
mov eax, esi
add eax, 0x18
mov dx, word [eax]
cmp dx, 0x80
je 0x4709f8
cmp dx, 0xa0
jne 0x470a36
lea edx, [eax + 0x10]
mov edx, dword [edx]
mov ecx, dword [0x48d57c]
mov dword [ecx], edx
mov edx, dword [0x48d57c]
cmp dword [edx], 0xf
jb 0x470a36
cmp byte [ebp - 0x81], 0xf
jae 0x470a36
inc byte [ebp - 0x81]
mov edx, dword [0x48d57c]
mov edx, dword [edx]
xor ecx, ecx
mov cl, byte [ebp - 0x81]
mov dword [ebp + ecx*4 - 0x19d0], edx
lea edx, [eax + 4]
movzx edx, word [edx]
add eax, edx
mov edx, eax
sub edx, esi
lea ecx, [esi + 4]
movzx ecx, word [ecx]
cmp edx, ecx
jge 0x470a5b
cmp word [eax], 0
je 0x470a5b
lea edx, [eax + 4]
cmp word [edx], 0
jne 0x4709e7
cmp word [esi], 0x30
jne 0x470aa2
lea eax, [esi + 0x18]
mov edx, dword [eax]
mov dword [ebp - 0x4c], edx
add eax, 0x30
mov edx, dword [eax]
mov dword [ebp - 0x70], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x6c], edx
cmp byte [ebp - 0x178d], 0
je 0x470a88
lea eax, [esi + 0x59]
cmp byte [eax], 2
je 0x470a95
lea edx, [ebp - 0x178d]
mov eax, esi
call fcn.0041db9c
cmp byte [ebp - 0x178d], 0
je 0x47106b
mov ax, word [esi]
cmp ax, 0x80
je 0x470ab5
cmp ax, 0xa0
jne 0x47106b
test bl, bl
je 0x470ada
cmp bl, 1
jne 0x470acc
mov eax, dword [0x48d550]
cmp byte [eax + 0x1874], 0
jne 0x470ada
cmp bl, 2
je 0x470ada
cmp bl, 3
jne 0x47106b
cmp word [esi], 0x80
jne 0x470d48
lea eax, [esi + 9]
mov al, byte [eax]
add eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
jbe 0x470b1d
mov byte [ebp - 0x7a], 1
test bl, bl
je 0x47106b
mov eax, dword [0x48d550]
cmp byte [eax + 0x190d], 0
je 0x47106b
lea eax, [esi + 0xa]
mov ax, word [eax]
mov word [ebp - 0x58], ax
test bl, bl
jne 0x470caa
mov eax, dword [ebp - 0xc]
inc dword [eax]
cmp dword [ebp + 0x14], 0
jne 0x470b99
mov edx, dword [0x48d43c]
lea eax, [ebp - 0x178d]
call fcn.0040f80c
test al, al
je 0x4713f3
mov eax, dword [0x48d550]
cmp byte [eax + 0x1890], 1
jne 0x470b7b
mov ax, word [ebp - 0x5c]
and ax, 1
cmp ax, 1
je 0x4713f3
mov ax, word [ebp - 0x5c]
and ax, 2
cmp ax, 2
je 0x4713f3
mov eax, dword [0x48d550]
cmp byte [eax + 0x1890], 2
jne 0x470b99
test byte [ebp - 0x5c], 1
jne 0x470b99
test byte [ebp - 0x5c], 2
je 0x4713f3
cmp dword [ebp + 0x10], 0
jne 0x470bea
mov eax, dword [0x48d650]
cmp byte [eax], 0
jne 0x470bea
test byte [ebp - 0x37], 8
jne 0x470bb5
test byte [ebp - 0x37], 0x40
je 0x470bea
mov ax, 0x12c
call fcn.0040bc04
lea edx, [ebp - 0x178d]
mov ecx, 0x33
call fcn.00411d84
test al, al
jne 0x470bdb
mov byte [ebp - 0xd], 0
jmp 0x471422
mov eax, dword [0x48d91c]
mov al, byte [eax]
mov edx, dword [0x48d650]
mov byte [edx], al
cmp dword [ebp + 0x14], 0
je 0x470c00
lea eax, [ebp - 0x168d]
mov edx, dword [ebp + 0x14]
call fcn.00405c48
jmp 0x470c2c
lea eax, [ebp - 0x168d]
mov edx, dword [ebp + 0x18]
call fcn.00405c48
lea eax, [ebp - 0x168d]
call fcn.0040fb40
lea eax, [ebp - 0x178d]
push eax
lea eax, [ebp - 0x168d]
push eax
call sub.kernel32.dll_lstrcatA
cmp dword [ebp + 0x10], 0
jne 0x470caa
cmp dword [ebp + 0x18], 0
je 0x470caa
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x470c9b
lea eax, [ebp - 0x168d]
mov edx, dword [ebp + 0x18]
call fcn.00405c48
lea eax, [ebp - 0x168d]
call fcn.0040fb40
fild dword [ebp - 0x20]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004123c0
push eax
lea eax, [ebp - 0x168d]
push eax
call sub.kernel32.dll_lstrcatA
push 0x471434
lea eax, [ebp - 0x168d]
push eax
call sub.kernel32.dll_lstrcatA
lea eax, [ebp - 0x178d]
push eax
lea eax, [ebp - 0x168d]
push eax
call sub.kernel32.dll_lstrcatA
inc dword [ebp - 0x20]
lea eax, [ebp - 0x168d]
call fcn.00412584
test al, al
jne 0x470c3f
cmp byte [ebp - 0x31], 0
jbe 0x470d48
cmp bl, 1
jne 0x470d48
cmp byte [ebp - 0x7b], 0
je 0x470cd4
push 0x471438
lea eax, [ebp - 0x108c]
push eax
call sub.kernel32.dll_lstrcatA
xor eax, eax
mov al, byte [ebp - 0x31]
shr eax, 1
dec eax
test eax, eax
jl 0x470d11
inc eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x20], 0
lea edi, [ebp - 0x158d]
movzx eax, word [ebp - 0x58]
add eax, esi
mov edx, dword [ebp - 0x20]
add edx, edx
add eax, edx
mov al, byte [eax]
mov byte [edi], al
inc dword [ebp - 0x20]
inc edi
dec dword [ebp - 0x8c]
jne 0x470cf4
xor eax, eax
mov al, byte [ebp - 0x31]
shr eax, 1
mov byte [ebp + eax - 0x158d], 0
lea eax, [ebp - 0x158d]
push eax
lea eax, [ebp - 0x108c]
push eax
call sub.kernel32.dll_lstrcatA
push 0x47143c
lea eax, [ebp - 0x108c]
push eax
call sub.kernel32.dll_lstrcatA
mov byte [ebp - 0x7b], 0
cmp word [esi], 0x80
jne 0x470e7e
lea eax, [esi + 8]
cmp byte [eax], 0
jne 0x470e7e
cmp bl, 2
je 0x4713f3
cmp bl, 3
je 0x4713f3
lea eax, [esi + 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x19d4], eax
xor eax, eax
mov dword [ebp - 0x19d0], eax
fild qword [ebp - 0x19d4]
fistp qword [ebp - 0x70]
wait
test bl, bl
jne 0x470e1e
push 1
fild qword [ebp - 0x70]
call fcn.004028a0
push eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
cmp dword [ebp + 0x10], 0
setne al
push eax
lea ecx, [esi + 0x18]
lea edx, [ebp - 0x168d]
mov eax, dword [ebp - 4]
call fcn.00477df0
mov byte [ebp - 0x2e], al
cmp byte [ebp - 0x2e], 0
je 0x4713f3
xor eax, eax
mov al, byte [ebp - 0x2e]
cmp ax, 0xffff
jne 0x470de1
mov byte [ebp - 0xd], 0
jmp 0x471422
mov eax, dword [0x48d480]
push dword [eax + 4]
push dword [eax]
mov eax, dword [0x48d8e8]
push eax
mov ecx, dword [0x48d384]
mov edx, dword [0x48db5c]
mov edx, dword [edx]
mov eax, dword [0x48d624]
mov eax, dword [eax]
call fcn.0040f628
mov eax, dword [0x48d9fc]
cmp byte [eax], 0
jne 0x471422
jmp 0x47106b
push 0x471440
lea eax, [ebp - 0x108c]
push eax
call sub.kernel32.dll_lstrcatA
mov ax, 0x1e1
call fcn.0040bc04
push eax
lea eax, [ebp - 0x108c]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [ebp - 8]
mov dword [ebp - 0x19d4], eax
xor eax, eax
mov dword [ebp - 0x19d0], eax
fild qword [ebp - 0x19d4]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004123c0
push eax
lea eax, [ebp - 0x108c]
push eax
call sub.kernel32.dll_lstrcatA
mov byte [ebp - 0x7b], 1
jmp 0x47106b
cmp dword [ebp + 0x10], 0
jne 0x470e92
lea eax, [esi + 0x30]
mov edx, dword [eax]
mov dword [ebp - 0x70], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x6c], edx
lea eax, [esi + 0x20]
mov ax, word [eax]
mov word [ebp - 0x56], ax
mov byte [ebp - 0x79], 0
xor eax, eax
mov dword [ebp - 0x48], eax
test bl, bl
jne 0x470f13
cmp word [esi], 0x80
jne 0x470f13
push 0
mov ax, word [ebp - 0x28]
add ax, 0x400
sub ax, si
sub ax, word [ebp - 0x56]
push eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
cmp dword [ebp + 0x10], 0
setne al
push eax
movzx ecx, word [ebp - 0x56]
add ecx, esi
lea edx, [ebp - 0x168d]
mov eax, dword [ebp - 4]
call fcn.00477df0
mov byte [ebp - 0x2e], al
cmp byte [ebp - 0x2e], 0
je 0x4713f3
xor eax, eax
mov al, byte [ebp - 0x2e]
cmp ax, 0xffff
jne 0x470f05
mov byte [ebp - 0xd], 0
jmp 0x471422
mov eax, dword [0x48d9fc]
cmp byte [eax], 0
jne 0x471422
cmp bl, 1
je 0x470f26
cmp bl, 2
je 0x470f26
cmp bl, 3
jne 0x47106b
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x56]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x4a8]
mov eax, esi
call fcn.0041ed40
test al, al
je 0x47106b
cmp dword [ebp - 0x40], 0xffffffff
je 0x471042
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp - 0x44]
add dword [eax], edx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x44]
dec eax
mov edx, dword [ebp + 0x30]
mov dword [edx], eax
cmp dword [ebp - 0x3c], 0xffffffff
jne 0x470f77
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x108c]
call fcn.00405bdc
cmp eax, 0xfa0
jle 0x470fa4
cmp byte [ebp - 0x79], 0
jne 0x470fa4
mov byte [ebp - 0x79], 1
push 0x471448
lea eax, [ebp - 0x108c]
push eax
call sub.kernel32.dll_lstrcatA
cmp byte [ebp - 0x79], 0
jne 0x47103e
cmp byte [ebp - 0x7b], 0
je 0x470fc5
push 0x471438
lea eax, [ebp - 0x108c]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x19d4], eax
xor eax, eax
mov dword [ebp - 0x19d0], eax
fild qword [ebp - 0x19d4]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004123c0
push eax
lea eax, [ebp - 0x108c]
push eax
call sub.kernel32.dll_lstrcatA
cmp dword [ebp - 0x44], 1
jbe 0x47103e
push 0x471450
lea eax, [ebp - 0x108c]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [ebp + 0x30]
mov eax, dword [eax]
mov dword [ebp - 0x19d4], eax
xor eax, eax
mov dword [ebp - 0x19d0], eax
fild qword [ebp - 0x19d4]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004123c0
push eax
lea eax, [ebp - 0x108c]
push eax
call sub.kernel32.dll_lstrcatA
mov byte [ebp - 0x7b], 1
movzx eax, word [ebp - 0x56]
add eax, esi
cmp byte [eax], 0
je 0x47106b
movzx eax, word [ebp - 0x56]
add eax, esi
sub eax, dword [ebp - 0x28]
cmp eax, 0x400
jge 0x47106b
mov ax, word [ebp - 0x56]
cmp ax, word [ebp - 0x5a]
jb 0x470f26
cmp dword [esi], 0xffffffff
jne 0x470976
cmp bl, 2
je 0x47107e
cmp bl, 3
jne 0x4710ba
test byte [ebp - 0x37], 8
jne 0x47108a
test byte [ebp - 0x37], 0x40
je 0x4710ba
mov eax, dword [0x48d61c]
cmp byte [eax], 0
jne 0x4710aa
mov ax, 0x2fb
call fcn.0040bc04
call fcn.004704f0
mov eax, dword [0x48d61c]
mov byte [eax], 1
lea eax, [ebp - 0x178d]
call fcn.004704f0
jmp 0x4713f3
test bl, bl
je 0x4710c7
cmp bl, 2
jne 0x471256
cmp dword [ebp + 0x10], 0
jne 0x471256
cmp byte [ebp - 0x81], 0
jbe 0x4711ac
xor eax, eax
mov al, byte [ebp - 0x81]
test eax, eax
jle 0x4711ac
mov dword [ebp - 0x8c], eax
lea edi, [ebp - 0x19cc]
mov eax, dword [edi]
cmp eax, 0xf
jb 0x47119d
cmp eax, dword [ebp - 0x50]
je 0x47119d
mov edx, eax
mov eax, dword [ebp - 4]
add eax, 0x4a4
xor ecx, ecx
call fcn.0041ef58
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x148d]
push eax
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x55d]
mov ecx, 2
mov edx, dword [ebp - 0x54]
call fcn.0041c514
test al, al
je 0x471422
mov edx, dword [0x48db24]
mov edx, dword [edx]
lea eax, [ebp - 0x148d]
mov ecx, 4
call fcn.0040cd80
test al, al
je 0x47119d
mov eax, dword [ebp + 0x30]
push eax
mov eax, dword [ebp + 0x2c]
push eax
lea eax, [ebp - 0x148d]
push eax
push 1
push ebx
push 0
mov eax, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push eax
lea eax, [ebp - 0x178d]
push eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x54]
call fcn.0047067c
mov byte [ebp - 0xd], al
add edi, 4
dec dword [ebp - 0x8c]
jne 0x4710fa
test bl, bl
jne 0x471256
cmp dword [ebp + 0x14], 0
je 0x4711ca
lea eax, [ebp - 0x168d]
mov edx, dword [ebp + 0x14]
call fcn.00405c48
jmp 0x4711f6
lea eax, [ebp - 0x168d]
mov edx, dword [ebp + 0x18]
call fcn.00405c48
lea eax, [ebp - 0x168d]
call fcn.0040fb40
lea eax, [ebp - 0x178d]
push eax
lea eax, [ebp - 0x168d]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x64]
push eax
lea edx, [ebp - 0x168d]
mov ecx, dword [ebp - 0x60]
mov al, 1
call fcn.004147cc
mov eax, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x168d]
push eax
call sub.kernel32.dll_SetFileAttributesA
mov eax, dword [0x48d480]
push dword [eax + 4]
push dword [eax]
mov eax, dword [0x48d8e8]
push eax
mov ecx, dword [0x48d384]
mov edx, dword [0x48db5c]
mov edx, dword [edx]
mov eax, dword [0x48d624]
mov eax, dword [eax]
call fcn.0040f628
mov eax, dword [0x48d9fc]
cmp byte [eax], 0
jne 0x471422
cmp bl, 2
je 0x471264
cmp bl, 3
jne 0x4712e5
cmp bl, 3
jne 0x471272
cmp byte [ebp - 0x81], 0
ja 0x47127b
cmp byte [ebp - 0x81], 0xf
jb 0x4712bb
mov edx, 0x471454
mov eax, dword [0x48da44]
call fcn.00405c48
lea eax, [ebp - 0x178d]
push eax
mov eax, dword [0x48da44]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x48d5c4]
mov eax, dword [eax]
push eax
mov eax, dword [0x48da44]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x48da44]
call fcn.004704f0
jmp 0x4712e5
mov eax, dword [ebp + 0x30]
mov eax, dword [eax]
push eax
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
push eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
lea edx, [ebp - 0x178d]
mov eax, dword [ebp - 4]
mov ecx, ebx
call fcn.00472f2c
test al, al
je 0x471422
cmp bl, 1
jne 0x4713f3
mov eax, dword [ebp - 0x4c]
push eax
lea eax, [ebp - 0x7c]
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x4a4
mov edx, dword [ebp - 4]
mov dl, byte [edx + 0x55d]
lea eax, [ebp - 0x188d]
call fcn.0041dbd8
mov edx, 0x471470
lea eax, [ebp - 0x188d]
call fcn.00405d18
test eax, eax
je 0x471337
mov edx, 0x471474
lea eax, [ebp - 0x188d]
call fcn.00405c48
lea eax, [ebp - 0x188d]
call fcn.0040fb68
mov eax, dword [ebp - 0x60]
call fcn.004172b4
mov eax, dword [ebp - 0x64]
call fcn.004172b4
mov eax, dword [ebp - 0x68]
call fcn.004172b4
lea eax, [ebp - 0x188d]
push eax
mov ax, word [ebp - 0x5c]
and ax, 1
cmp ax, 1
sete al
push eax
mov ax, word [ebp - 0x5c]
and ax, 2
cmp ax, 2
sete al
push eax
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x50]
push eax
test byte [ebp - 0x37], 8
setne al
push eax
test byte [ebp - 0x37], 0x40
setne al
push eax
mov al, byte [ebp - 0x7a]
push eax
test byte [ebp - 0x38], 2
setne al
push eax
test byte [ebp - 0x38], 4
setne al
push eax
test byte [ebp - 0x38], 1
setne al
push eax
test byte [ebp - 0x38], 0x20
setne al
push eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
push 0
push 0
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x68]
push eax
lea eax, [ebp - 0x108c]
push eax
mov al, byte [ebp - 0x7d]
push eax
lea ecx, [ebp - 0x178d]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0046fda4
test al, al
je 0x471422
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov ecx, 0x83
cdq
idiv ecx
test edx, edx
jne 0x471413
call fcn.0040f494
mov eax, dword [0x48d9fc]
cmp byte [eax], 0
jne 0x471422
inc dword [ebp - 0x1c]
dec dword [ebp - 0x88]
jne 0x4706c4
mov al, byte [ebp - 0xd]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x2c