Function at 0x45cdbc
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Copy file
Delete file
Get file size
Move file
Parse pe header
Read .ini file

Disassembly:
push ebp
sub esp, 0x58
lea ebp, [esp - 4]
mov eax, dword [0x4fc5b0]
xor eax, ebp
mov dword [ebp + 0x58], eax
push 0x58c
mov eax, 0x4c6c0e
call fcn.00492516
mov eax, dword [ebp + 0x64]
mov ebx, dword [ebp + 0x70]
mov edi, dword [ebp + 0x78]
and dword [ebp - 0x20], 0
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x68]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x6c]
mov esi, ecx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0x74]
lea ecx, [ebp - 0x40]
mov dword [ebp], esi
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x2c], edi
call fcn.004703d0
and dword [ebp - 4], 0
or dword [ebp - 0x68], 0xffffffff
push 0x4dc8c4
lea ecx, [ebp - 0x90]
call fcn.00470680
push 0x4dc8c0
push edi
mov byte [ebp - 4], 1
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45d17a
push 0x4dc8bc
mov edi, 0x4ff66c
push edi
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45cf3a
lea ecx, [ebp - 0x7c]
call fcn.004703d0
push 0
lea eax, [ebp - 0x64]
push ebx
push eax
mov byte [ebp - 4], 2
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 3
call fcn.00470710
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.00470660
lea ecx, [ebp - 0x7c]
call fcn.004714e0
lea ecx, [ebp - 0x7c]
call fcn.00471440
lea eax, [ebp - 0x7c]
push 0x4e4578
push eax
call fcn.0040d567
pop ecx
pop ecx
test al, al
jne 0x45cf08
lea ecx, [ebp - 0x7c]
call fcn.0040d4fd
test al, al
jne 0x45cf08
lea eax, [ebp - 0x7c]
push str.else
push eax
call fcn.0040d5af
pop ecx
pop ecx
test al, al
je 0x45cefa
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.bad_if_statement
call fcn.00470680
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, 0x8000aaa0
jmp 0x45cf0c
push ebx
mov ecx, esi
call fcn.0045c324
test eax, eax
jne 0x45cf0a
jmp 0x45ced8
dec dword [ebx]
xor esi, esi
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 1
call fcn.00470660
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0
call fcn.00470660
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.00470660
mov eax, esi
jmp 0x461781
push str.switch
push edi
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45d158
lea ecx, [ebp + 0x10]
call fcn.004703d0
push 0
lea eax, [ebp + 4]
push ebx
push eax
mov byte [ebp - 4], 4
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 5
call fcn.00470710
lea ecx, [ebp + 4]
mov byte [ebp - 4], 4
call fcn.00470660
lea ecx, [ebp + 0x10]
call fcn.004714e0
lea ecx, [ebp + 0x10]
call fcn.00471440
mov edi, 0x4e4578
jmp 0x45d0fe
lea ecx, [ebp + 0x10]
call fcn.0040d4fd
test al, al
jne 0x45d112
lea eax, [ebp + 0x10]
push str.case
push eax
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45d0a6
push 0
lea eax, [ebp - 0x64]
push ebx
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 6
call fcn.00470710
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 4
call fcn.00470660
lea ecx, [ebp + 0x10]
call fcn.004714e0
lea ecx, [ebp + 0x10]
call fcn.00471440
cmp byte [ebp + 0x17], 0xff
lea eax, [ebp + 0x10]
jne 0x45d009
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0x28
jne 0x45d127
lea ecx, [ebp + 0x10]
call fcn.004703e0
xor ecx, ecx
inc ecx
sub ecx, eax
add dword [ebx], ecx
push 0x4d16f4
lea eax, [ebp - 0x84]
push ebx
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 7
call fcn.00470710
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 4
call fcn.00470660
push 0
lea eax, [ebp - 0x98]
push ebx
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 8
call fcn.00470710
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.00470660
cmp byte [ebp + 0x17], 0xff
lea eax, [ebp + 0x10]
jne 0x45d08c
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0x29
jne 0x45d127
lea ecx, [ebp + 0x10]
call fcn.004703e0
xor ecx, ecx
inc ecx
sub ecx, eax
add dword [ebx], ecx
jmp 0x45d0ba
lea eax, [ebp + 0x10]
push str.default
push eax
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45d127
push ebx
mov ecx, esi
call fcn.0045c324
test eax, eax
je 0x45d127
push 0
lea eax, [ebp + 4]
push ebx
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 5
call fcn.00470710
lea ecx, [ebp + 4]
mov byte [ebp - 4], 4
call fcn.00470660
lea ecx, [ebp + 0x10]
call fcn.004714e0
lea ecx, [ebp + 0x10]
call fcn.00471440
lea eax, [ebp + 0x10]
push edi
push eax
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45cf9d
dec dword [ebx]
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 1
call fcn.00470660
xor esi, esi
jmp 0x45cf18
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.bad_switch_statement
call fcn.00470680
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 1
call fcn.00470660
mov esi, 0x8000aaa0
jmp 0x45cf18
push dword [ebp + 0xc]
push ecx
push ecx
mov eax, esp
mov dword [ebp + 0x18], esp
push edi
push str.unknown_StructuredJump_value:
push eax
call fcn.00470fb0
mov eax, dword [esi]
add esp, 0xc
mov ecx, esi
call dword [eax + 4]
jmp 0x45d14e
mov ecx, edi
call fcn.004714e0
mov ecx, edi
call fcn.00471440
mov ecx, edi
call fcn.0040d4fd
test al, al
jne 0x45d120
and dword [ebp - 0x24], 0
mov ebx, 0x4ff68c
push ebx
push edi
call fcn.0040d53e
pop ecx
pop ecx
test al, al
jne 0x45d1b7
inc dword [ebp - 0x24]
add ebx, 0x2c
cmp ebx, 0x501aa4
jl 0x45d19c
cmp dword [ebp - 0x24], 0xd2
jl 0x45d2ab
xor ebx, ebx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x24], ebx
call fcn.004703d0
cmp byte [edi + 7], 0xff
mov byte [ebp - 4], 9
mov eax, edi
jne 0x45d1df
mov eax, dword [edi]
cmp byte [eax], 0x24
jne 0x45d21e
push dword [ebp + 0xc]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x1c], esp
push 1
push eax
mov ecx, edi
call fcn.004712e0
lea eax, [ebp - 0x64]
push eax
mov ecx, esi
call fcn.0045c9e6
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xa
call fcn.00470710
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00470660
jmp 0x45d227
push edi
lea ecx, [ebp - 0x50]
call fcn.00470710
lea eax, [ebp - 0x50]
push eax
lea ecx, [esi + 8]
call fcn.0043d1d8
mov dword [ebp + 0x7c], 1
cmp dword [0x4ff63c], ebx
je 0x45d29f
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x84]
push str.default_data_push:
push eax
call fcn.00470fb0
push 0x4cfa38
push eax
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 0xb
call fcn.00470f60
add esp, 0x18
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xc
jne 0x45d279
mov eax, dword [eax]
mov edx, dword [esi]
push ebx
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xb
call fcn.00470660
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 9
call fcn.00470660
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 1
call fcn.00470660
push 0x18
lea ebx, [esi + 0x18]
push 0
push ebx
call fcn.00491e90
mov edi, dword [ebp - 0x24]
imul edi, edi, 0x2c
mov eax, dword [edi + 0x4ff698]
push eax
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x24], eax
call fcn.0049a90c
add esp, 0x10
cmp dword [ebp - 0x24], 0xfffffc19
jne 0x45d2ea
cmp dword [ebp + 0x7c], 0
je 0x45d31a
mov eax, dword [ebp + 0x7c]
mov dword [ebp - 0x24], eax
jmp 0x45d31a
cmp dword [ebp - 0x24], 0
jge 0x45d31a
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
js 0x45d317
cmp ecx, eax
jle 0x45d312
push dword [ebp + 0xc]
push ecx
push ecx
mov eax, esp
mov dword [ebp + 0x18], esp
push dword [ebp - 0x2c]
push str.Too_many_args_for:
jmp 0x45d168
mov dword [ebp - 0x24], ecx
jmp 0x45d31a
neg dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov eax, dword [edi + 0x4ff688]
mov dword [ebp - 0x30], eax
test edx, edx
jle 0x45d33f
mov ecx, ebx
lea eax, [edi + 0x4ff69c]
mov ebx, dword [eax]
mov dword [ecx], ebx
add eax, 4
add ecx, 4
dec edx
jne 0x45d332
cmp dword [0x4ff63c], 0
mov eax, dword [edi + 0x4ff694]
mov dword [ebp - 0x78], eax
je 0x45d42b
mov ebx, dword [esi + 0xc]
sub ebx, dword [esi + 8]
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x64]
push 0x4dc82c
push eax
sar ebx, 3
call fcn.00470fb0
add esp, 0xc
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xd
jne 0x45d382
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00470660
and dword [ebp - 0x44], 0
test ebx, ebx
jle 0x45d41b
mov edi, ebx
shl edi, 3
test ebx, ebx
je 0x45d418
mov eax, dword [esi + 8]
lea eax, [edi + eax - 8]
push eax
lea eax, [ebp - 0x84]
push 0x4dc3b0
push eax
call fcn.00470fb0
push 0x4d8748
push eax
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 0xe
call fcn.00470f60
add esp, 0x18
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xf
jne 0x45d3e6
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push 0
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xe
call fcn.00470660
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 1
call fcn.00470660
inc dword [ebp - 0x44]
sub edi, 8
cmp dword [ebp - 0x44], ebx
jl 0x45d3a7
mov edi, dword [ebp - 0x34]
mov eax, dword [esi]
push 0
push 0
push 0x4cfa38
mov ecx, esi
call dword [eax + 8]
lea ecx, [ebp + 0x1c]
call fcn.004703d0
xor ecx, ecx
lea eax, [esi + 0x30]
mov byte [ebp - 4], 0x10
lea ebx, [esi + 0x60]
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x14], ecx
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 6
mov ecx, dword [ebp - 0x44]
call fcn.00470630
add dword [ebp - 0x44], 8
dec dword [ebp - 0x10]
jne 0x45d45b
push 0x30
push 0
push ebx
call fcn.00491e90
push 0x30
lea eax, [esi + 0x90]
push 0
push eax
call fcn.00491e90
push 0x60
lea eax, [esi + 0xc0]
push 0
push eax
call fcn.00491e90
push 0x18
lea eax, [esi + 0x120]
push 0
push eax
call fcn.00491e90
add esp, 0x30
cmp dword [ebp - 0x30], 0xaa
jne 0x45d4fa
lea ecx, [ebp + 4]
call fcn.004703d0
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
mov byte [ebp - 4], 0x11
sar eax, 3
push eax
lea eax, [ebp + 4]
push 0x4cfe8c
push eax
call fcn.00471330
add esp, 0xc
cmp dword [ebp + 0x7c], 0
jne 0x45d4eb
lea eax, [ebp + 4]
push eax
lea ecx, [esi + 8]
call fcn.0043d1d8
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x10
call fcn.00470660
mov edi, dword [ebp - 0x34]
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
mov edx, dword [ebp - 0x24]
sar eax, 3
cmp edx, 6
jg 0x45d6ec
sub eax, edx
jns 0x45d55d
push dword [ebp + 0xc]
lea eax, [ebp - 0x64]
push dword [ebp - 0x2c]
push str.stack_empty_error1:_func_
push eax
call fcn.00470fb0
add esp, 4
mov ecx, esp
mov dword [ebp + 0x18], esp
push 0x4d03c8
push eax
push ecx
mov byte [ebp - 4], 0x12
call fcn.00470f60
mov eax, dword [esi]
add esp, 0xc
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x10
call fcn.00470660
lea ecx, [ebp + 0x1c]
jmp 0x45d145
test edx, edx
jle 0x45d5c3
shl eax, 3
mov dword [ebp - 0x34], eax
lea ecx, [esi + 0x30]
lea eax, [esi + 0x18]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x44]
cmp dword [eax], 0
je 0x45d58d
mov eax, dword [esi + 8]
add eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
push eax
call fcn.00470710
add dword [ebp - 0x44], 4
add dword [ebp - 0x34], 8
add dword [ebp - 0x10], 8
dec dword [ebp - 0x1c]
jne 0x45d576
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x45d5c3
lea edi, [edi + 0x4ff69c]
mov dword [ebp - 0x1c], edx
cmp dword [edi], 0
je 0x45d5bb
lea ecx, [esi + 8]
call fcn.0045c626
add edi, 4
dec dword [ebp - 0x1c]
jne 0x45d5ae
lea eax, [esi + 0x18]
mov edi, ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 6
mov eax, dword [ebp - 0x10]
cmp dword [eax], 1
jne 0x45d5ea
lea eax, [edi - 0x30]
push eax
mov ecx, esi
call fcn.0045bdfd
mov dword [edi], eax
mov dword [edi + 4], edx
add dword [ebp - 0x10], 4
add edi, 8
dec dword [ebp - 0x1c]
jne 0x45d5d2
lea eax, [esi + 0x18]
mov edi, ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 6
mov eax, dword [ebp - 0x10]
cmp dword [eax], 4
jne 0x45d61d
lea eax, [edi - 0x30]
push eax
mov ecx, esi
call fcn.0045bdfd
mov dword [edi], eax
mov dword [edi + 4], edx
add dword [ebp - 0x10], 4
add edi, 8
dec dword [ebp - 0x1c]
jne 0x45d605
lea eax, [esi + 0x90]
lea ecx, [esi + 0x18]
mov dword [ebp - 0x1c], 6
cmp dword [ecx], 4
jne 0x45d649
mov edx, dword [eax - 0x30]
mov edi, dword [eax - 0x2c]
mov dword [eax], edx
mov dword [eax + 4], edi
add ecx, 4
add eax, 8
dec dword [ebp - 0x1c]
jne 0x45d639
lea eax, [esi + 0xc0]
mov dword [ebp - 0x44], eax
lea eax, [esi + 0x90]
mov dword [ebp - 0x34], eax
lea eax, [esi + 0x18]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 6
mov eax, dword [ebp - 0x10]
cmp dword [eax], 4
jne 0x45d69b
mov eax, dword [ebp - 0x34]
push dword [eax + 4]
mov ecx, dword [ebp]
push dword [eax]
lea eax, [ebp + 0x44]
push eax
call fcn.0045bea0
mov edi, dword [ebp - 0x44]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp]
add dword [ebp - 0x10], 4
add dword [ebp - 0x34], 8
add dword [ebp - 0x44], 0x10
dec dword [ebp - 0x1c]
jne 0x45d673
lea eax, [esi + 0x30]
lea edi, [esi + 0x120]
mov dword [ebp - 0x10], eax
mov dword [ebp], 6
cmp dword [edi - 0x108], 5
jne 0x45d6e0
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push dword [ebp - 0x10]
call fcn.004705c0
mov ecx, esi
call fcn.0045beb6
mov dword [edi], eax
add dword [ebp - 0x10], 8
add edi, 4
dec dword [ebp]
jne 0x45d6bf
cmp dword [0x4ff63c], 0
mov edi, 0x4cfe44
je 0x45d866
push 0x4dc7f4
lea ecx, [ebp + 4]
call fcn.00470680
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x13
call fcn.004703e0
mov dword [ebp - 0x10], 0xfffffffe
sub dword [ebp - 0x10], eax
lea ecx, [ebp + 4]
call fcn.004703e0
add eax, dword [ebp - 0x10]
jns 0x45d730
xor eax, eax
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp + 4]
call fcn.00470df0
mov dword [ebp], eax
push dword [ebp - 0x2c]
lea eax, [ebp - 0x98]
push str.FU:
push eax
mov byte [ebp - 4], 0x14
call fcn.00470fb0
push dword [ebp]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00470f10
push edi
push eax
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 0x16
call fcn.00470f60
add esp, 0x24
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0x17
jne 0x45d78d
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x16
call fcn.00470660
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x15
call fcn.00470660
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x14
call fcn.00470660
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x13
call fcn.00470660
cmp dword [ebp - 0x24], 0
jle 0x45d84a
lea eax, [esi + 0x30]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp], eax
push dword [ebp - 0x10]
lea eax, [ebp - 0x84]
push 0x4dc3b0
push eax
call fcn.00470fb0
push 0x4d8748
push eax
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 0x18
call fcn.00470f60
add esp, 0x18
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0x19
jne 0x45d81a
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x18
call fcn.00470660
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x13
call fcn.00470660
add dword [ebp - 0x10], 8
dec dword [ebp]
jne 0x45d7e4
mov eax, dword [esi]
push 0
push 4
push 0x4cfa38
mov ecx, esi
call dword [eax + 8]
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x10
call fcn.00470660
mov eax, dword [ebp - 0x30]
cmp eax, 0xd1
ja case.0x45d874.169
jmp dword [eax*4 + 0x4617a0]
mov eax, dword [esi + 0x68]
add eax, dword [ebx]
mov dword [ebp + 0x10], eax
mov eax, dword [esi + 0x6c]
adc eax, dword [ebx + 4]
jmp 0x461544
push dword [ebx + 4]
push dword [ebx]
push dword [esi + 0x6c]
push dword [esi + 0x68]
call fcn.004933d0
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], edx
jmp case.0x45d874.0
mov eax, dword [ebx]
sub eax, dword [esi + 0x68]
mov ebx, dword [ebx + 4]
sbb ebx, dword [esi + 0x6c]
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], ebx
jmp case.0x45d874.0
push dword [esi + 0x6c]
push dword [esi + 0x68]
push dword [ebx + 4]
push dword [ebx]
call fcn.00491de0
jmp 0x45d89e
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
neg eax
adc ebx, 0
neg ebx
jmp 0x45d8b4
push dword [esi + 0x6c]
push dword [esi + 0x68]
push dword [ebx + 4]
push dword [ebx]
call fcn.0049a970
jmp 0x45d89e
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
test ebx, ebx
jg 0x45d8b4
jl 0x45d8d6
test eax, eax
jae 0x45d8b4
jmp 0x45d8d6
lea ecx, [esi + 0x30]
call fcn.0040d4fd
mov ecx, 0x4fadd4
test al, al
jne 0x45d91c
push dword [ebx]
call fcn.0045bdd4
jmp 0x45d921
call fcn.0045bdb5
mov dword [ebp + 0x10], eax
and dword [ebp + 0x14], 0
jmp case.0x45d874.0
lea ecx, [esi + 0x30]
call fcn.0040d4fd
test al, al
je 0x45d93e
or ebx, 0xffffffff
jmp 0x45d940
mov ebx, dword [ebx]
push ebx
mov ecx, 0x4fadd4
call fcn.0045bd87
jmp case.0x45d874.0
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
jmp case.0x45d874.0
movzx eax, word [esi + 0xc0]
cdq
jmp 0x45d89e
movzx eax, word [esi + 0xc2]
jmp 0x45d969
movzx eax, word [esi + 0xc6]
jmp 0x45d969
movzx eax, word [esi + 0xc8]
jmp 0x45d969
movzx eax, word [esi + 0xca]
jmp 0x45d969
movzx eax, word [esi + 0xcc]
jmp 0x45d969
movzx eax, word [esi + 0xce]
jmp 0x45d969
push 0
push 0x989680
push dword [ebx + 4]
push dword [ebx]
call fcn.00491de0
sub eax, 0xb6109100
sbb edx, 2
jmp 0x45d89e
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
push 0
add eax, 0xb6109100
push 0x989680
adc ecx, 2
push ecx
push eax
jmp 0x45d899
lea eax, [ebp + 0x18]
push eax
call fcn.00491a23
lea eax, [ebp + 0x24]
push 0x32
push eax
call fcn.0049a85e
add esp, 0xc
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp + 0x1c]
call fcn.004707b0
jmp case.0x45d874.0
lea eax, [ebp + 0x18]
push eax
call fcn.00491a23
lea eax, [ebp + 0x24]
push 0x32
push eax
call fcn.0049a7a6
jmp 0x45d9f2
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
not eax
not ebx
jmp 0x45d8b4
mov eax, dword [ebx]
or eax, dword [ebx + 4]
jne 0x45da3d
mov dword [ebp + 0x10], 1
jmp 0x45d924
and dword [ebp + 0x10], 0
jmp 0x45d924
mov eax, dword [esi + 0x68]
or eax, dword [ebx]
mov dword [ebp + 0x10], eax
mov eax, dword [esi + 0x6c]
or eax, dword [ebx + 4]
jmp 0x461544
mov eax, dword [esi + 0x68]
and eax, dword [ebx]
mov dword [ebp + 0x10], eax
mov eax, dword [esi + 0x6c]
and eax, dword [ebx + 4]
jmp 0x461544
mov eax, dword [esi + 0x68]
xor eax, dword [ebx]
mov dword [ebp + 0x10], eax
mov eax, dword [esi + 0x6c]
xor eax, dword [ebx + 4]
jmp 0x461544
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov ecx, dword [esi + 0x68]
call fcn.0049a940
jmp 0x45d89e
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov ecx, dword [esi + 0x68]
call fcn.0049a920
jmp 0x45d89e
mov eax, dword [ebx]
or eax, dword [ebx + 4]
mov eax, 0x4cfa4c
jne 0x45d9f8
mov eax, 0x4e3e40
jmp 0x45d9f8
mov eax, dword [ebx]
or eax, dword [ebx + 4]
mov eax, 0x4cfa4c
je 0x45d9f8
jmp 0x45dab3
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jne 0x45dab3
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
jmp 0x45dac2
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.0040d53e
pop ecx
pop ecx
test al, al
jmp 0x45daa8
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jne 0x45db00
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
je 0x45dab3
mov eax, 0x4cfa4c
jmp 0x45d9f8
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.0040d585
jmp 0x45daeb
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jne 0x45da3d
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
jmp 0x45da2f
mov edi, 0x4d0014
lea eax, [esi + 0x30]
push edi
push eax
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45db49
mov edi, 0x4d0018
push edi
jmp 0x45d9f9
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x2b0]
push eax
call fcn.00470f10
add esp, 0xc
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x1a
call fcn.00470710
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x10
call fcn.00470660
jmp case.0x45d874.0
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x38]
push eax
lea eax, [ebp - 0x598]
push eax
call fcn.00470f10
add esp, 0xc
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x1b
call fcn.00470710
lea ecx, [ebp - 0x598]
jmp 0x45db79
lea eax, [esi + 0x30]
push eax
lea ecx, [ebp + 0x1c]
call fcn.00470710
lea ecx, [ebp + 0x1c]
call fcn.004715d0
jmp case.0x45d874.0
lea eax, [esi + 0x30]
push eax
lea ecx, [ebp + 0x1c]
call fcn.00470710
lea ecx, [ebp + 0x1c]
call fcn.004715b0
jmp case.0x45d874.0
mov ebx, dword [esi + 0x68]
lea ecx, [esi + 0x30]
test ebx, ebx
jns 0x45dc1e
call fcn.004703e0
add eax, ebx
push eax
lea eax, [ebp - 0x130]
push eax
lea ecx, [esi + 0x30]
call fcn.00470e50
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x1c
call fcn.00470710
lea ecx, [ebp - 0x130]
jmp 0x45db79
push ebx
lea eax, [ebp - 0x480]
push eax
call fcn.00470e50
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x1d
call fcn.00470710
lea ecx, [ebp - 0x480]
jmp 0x45db79
mov eax, dword [esi + 0x68]
lea ecx, [esi + 0x30]
test eax, eax
jns 0x45dc74
neg eax
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.00470df0
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x1e
call fcn.00470710
lea ecx, [ebp - 0x140]
jmp 0x45db79
inc eax
push eax
lea eax, [ebp - 0x370]
push eax
call fcn.004712e0
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x1f
call fcn.00470710
lea ecx, [ebp - 0x370]
jmp 0x45db79
lea eax, [esi + 0x38]
cmp byte [eax + 7], 0xff
jne 0x45dca5
mov eax, dword [eax]
lea edi, [esi + 0x30]
push eax
mov ecx, edi
call fcn.004704f0
cmp eax, 0xffffffff
je 0x45e32f
push eax
lea eax, [ebp - 0x150]
push eax
mov ecx, edi
call fcn.00470e50
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x20
call fcn.00470710
lea ecx, [ebp - 0x150]
jmp 0x45db79
cmp byte [esi + 0x3f], 0xff
lea eax, [esi + 0x38]
jne 0x45dcec
mov eax, dword [esi + 0x38]
lea edi, [esi + 0x30]
push eax
mov ecx, edi
call fcn.004704f0
mov dword [ebp], eax
cmp eax, 0xffffffff
je 0x45e32f
lea ecx, [esi + 0x38]
call fcn.004703e0
add eax, dword [ebp]
mov ecx, edi
push eax
lea eax, [ebp - 0x510]
push eax
call fcn.004712e0
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x21
call fcn.00470710
lea ecx, [ebp - 0x510]
jmp 0x45db79
push dword [esi + 0x70]
lea eax, [ebp - 0x160]
push dword [esi + 0x68]
lea ecx, [esi + 0x30]
push eax
call fcn.00470d10
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x22
call fcn.00470710
lea ecx, [ebp - 0x160]
jmp 0x45db79
push dword [esi + 0x68]
lea eax, [ebp - 0x380]
push eax
lea ecx, [esi + 0x30]
call fcn.004712e0
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x23
call fcn.00470710
lea ecx, [ebp - 0x380]
jmp 0x45db79
lea eax, [esi + 0x38]
cmp byte [eax + 7], 0xff
jne 0x45dd97
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x30]
call fcn.004704f0
jmp 0x45d969
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
test eax, 0xfffffff8
jne 0x45ddd2
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.stack_empty_error1_n
call fcn.00470680
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
jmp 0x45d555
mov eax, dword [esi + 0xc]
add eax, 0xfffffff8
push eax
lea ecx, [ebp + 0x1c]
call fcn.00470710
lea ecx, [esi + 8]
call fcn.0045c626
cmp dword [ebp - 0x30], 0x70
sete al
mov byte [ebp], al
lea eax, [esi + 0x38]
cmp byte [eax + 7], 0xff
jne 0x45ddfe
mov eax, dword [eax]
lea ecx, [esi + 0x30]
cmp byte [ecx + 7], 0xff
jne 0x45de09
mov ecx, dword [ecx]
push dword [ebp]
push eax
push ecx
lea ecx, [ebp + 0x1c]
call fcn.004715f0
jmp case.0x45d874.0
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
test eax, 0xfffffff8
je 0x45ddb2
mov eax, dword [esi + 0xc]
add eax, 0xfffffff8
push eax
lea ecx, [ebp + 0x1c]
call fcn.00470710
lea ecx, [esi + 8]
call fcn.0045c626
push dword [esi + 0x68]
lea eax, [ebp - 0x170]
push dword [ebx]
lea ecx, [ebp + 0x1c]
push eax
call fcn.00470d10
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x24
call fcn.00470710
lea ecx, [ebp - 0x170]
jmp 0x45db79
lea eax, [esi + 0x30]
cmp byte [eax + 7], 0xff
jne 0x45de76
mov eax, dword [eax]
mov ecx, dword [esi + 0x68]
mov al, byte [eax + ecx]
mov byte [ebp], al
push dword [ebp]
lea ecx, [ebp + 0x1c]
call fcn.00470480
jmp case.0x45d874.0
cmp byte [esi + 0x3f], 0xff
lea ecx, [esi + 0x38]
jne 0x45de9b
mov ecx, dword [esi + 0x38]
mov eax, dword [ebx]
push dword [ebx + 4]
push eax
push ecx
lea eax, [ebp + 0x1c]
push eax
call fcn.00471330
add esp, 0x10
jmp case.0x45d874.0
mov eax, dword [ebp + 0x7c]
mov dword [ebp - 0x2c], eax
cmp eax, 1
jne 0x45dedb
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.0045c686
mov edi, dword [ebp - 0x2c]
lea eax, [esi + 0x30]
push eax
lea ecx, [esi + 8]
inc edi
call fcn.0043d1d8
jmp 0x45def2
test eax, eax
jne 0x45deef
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.0045c686
mov edi, dword [ebp - 0x2c]
jmp 0x45def2
mov edi, dword [ebp - 0x24]
xor eax, eax
inc eax
cmp edi, eax
jg 0x45df0d
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.too_few_params_to_format_atomic_function_r_n
jmp 0x45ddc1
cmp edi, 2
jne 0x45df53
cmp dword [ebp + 0x7c], eax
jg 0x45df2d
lea eax, [esi + 0x38]
push eax
mov ecx, esi
call fcn.0045c6a7
lea eax, [esi + 0x30]
push eax
mov ecx, esi
call fcn.0045c6a7
lea eax, [esi + 0x30]
cmp byte [eax + 7], 0xff
jne 0x45df38
mov eax, dword [eax]
lea ecx, [esi + 0x38]
cmp byte [ecx + 7], 0xff
jne 0x45df43
mov ecx, dword [ecx]
push eax
push ecx
lea eax, [ebp + 0x1c]
push eax
call fcn.00471330
jmp 0x45e900
cmp edi, 3
jne 0x45dfa6
cmp dword [ebp + 0x7c], eax
jg 0x45df7e
lea eax, [esi + 0x40]
push eax
mov ecx, esi
call fcn.0045c6a7
lea eax, [esi + 0x38]
push eax
mov ecx, esi
call fcn.0045c6a7
lea eax, [esi + 0x30]
push eax
mov ecx, esi
call fcn.0045c6a7
cmp byte [esi + 0x3f], 0xff
lea edx, [esi + 0x38]
jne 0x45df8a
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x30]
cmp byte [eax + 7], 0xff
jne 0x45df95
mov eax, dword [eax]
lea ecx, [esi + 0x40]
cmp byte [ecx + 7], 0xff
jne 0x45dfa0
mov ecx, dword [ecx]
push edx
jmp 0x45dea0
cmp edi, 4
jne 0x45e01c
cmp dword [ebp + 0x7c], eax
jg 0x45dfdc
lea eax, [esi + 0x48]
push eax
mov ecx, esi
call fcn.0045c6a7
lea eax, [esi + 0x40]
push eax
mov ecx, esi
call fcn.0045c6a7
lea eax, [esi + 0x38]
push eax
mov ecx, esi
call fcn.0045c6a7
lea eax, [esi + 0x30]
push eax
mov ecx, esi
call fcn.0045c6a7
cmp byte [esi + 0x47], 0xff
lea edi, [esi + 0x40]
jne 0x45dfe8
mov edi, dword [esi + 0x40]
cmp byte [esi + 0x3f], 0xff
lea edx, [esi + 0x38]
jne 0x45dff4
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x30]
cmp byte [eax + 7], 0xff
jne 0x45dfff
mov eax, dword [eax]
lea ecx, [esi + 0x48]
cmp byte [ecx + 7], 0xff
jne 0x45e00a
mov ecx, dword [ecx]
push edi
push edx
push eax
push ecx
lea eax, [ebp + 0x1c]
push eax
call fcn.00471330
jmp 0x45e8d5
cmp edi, 5
jne case.0x45d874.0
cmp dword [ebp + 0x7c], 1
jg 0x45e062
lea eax, [esi + 0x50]
push eax
mov ecx, esi
call fcn.0045c6a7
lea eax, [esi + 0x48]
push eax
mov ecx, esi
call fcn.0045c6a7
lea eax, [esi + 0x40]
push eax
mov ecx, esi
call fcn.0045c6a7
lea eax, [esi + 0x38]
push eax
mov ecx, esi
call fcn.0045c6a7
lea eax, [esi + 0x30]
push eax
mov ecx, esi
call fcn.0045c6a7
cmp byte [esi + 0x4f], 0xff
lea ebx, [esi + 0x48]
jne 0x45e06e
mov ebx, dword [esi + 0x48]
cmp byte [esi + 0x47], 0xff
lea edi, [esi + 0x40]
jne 0x45e07a
mov edi, dword [esi + 0x40]
cmp byte [esi + 0x3f], 0xff
lea edx, [esi + 0x38]
jne 0x45e086
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x30]
cmp byte [eax + 7], 0xff
jne 0x45e091
mov eax, dword [eax]
lea ecx, [esi + 0x50]
cmp byte [ecx + 7], 0xff
jne 0x45e09c
mov ecx, dword [ecx]
push ebx
push edi
push edx
push eax
push ecx
lea eax, [ebp + 0x1c]
push eax
call fcn.00471330
add esp, 0x18
jmp case.0x45d874.0
mov eax, dword [ebx]
or eax, dword [ebx + 4]
mov eax, 0x4d0014
je 0x45d9f8
mov eax, 0x4d0018
jmp 0x45d9f8
push dword [ebx + 4]
mov eax, dword [ebx]
push eax
push str.0x_016llx
jmp 0x45dea2
push dword [ebx + 4]
lea eax, [ebp - 0x490]
push dword [ebx]
mov ecx, esi
push eax
call fcn.0045c4ff
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x25
call fcn.00470710
lea ecx, [ebp - 0x490]
jmp 0x45db79
push dword [ebx + 4]
mov eax, dword [ebx]
push eax
push str._022lld
jmp 0x45dea2
push dword [ebx + 4]
mov eax, dword [ebx]
push eax
push 0x4cfe8c
jmp 0x45dea2
push 1
lea ecx, [esi + 0x38]
call fcn.004710f0
push 1
lea ecx, [esi + 0x30]
mov ebx, eax
call fcn.004710f0
lea ecx, [ebp + 4]
mov dword [ebp - 0x24], eax
xor edi, edi
call fcn.004703d0
mov byte [ebp - 4], 0x26
jmp 0x45e19d
push ebx
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x27
call fcn.00470710
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0x26
call fcn.00470660
push dword [ebp - 0x24]
call fcn.00492a70
pop ecx
test eax, eax
je 0x45e190
inc dword [ebp - 0x24]
lea eax, [ebp + 4]
push eax
lea ecx, [esi + 8]
call fcn.0043d1d8
inc edi
push dword [ebp - 0x24]
call fcn.00492a70
pop ecx
test eax, eax
jne 0x45e150
mov eax, edi
cdq
push edx
push eax
lea eax, [ebp - 0x390]
push eax
mov ecx, esi
call fcn.0045c4ff
push eax
lea ecx, [esi + 8]
mov byte [ebp - 4], 0x28
call fcn.0045c778
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x390]
call fcn.00470660
lea ecx, [ebp + 4]
jmp 0x45db79
push 1
lea ecx, [esi + 0x40]
call fcn.004710f0
push 1
lea ecx, [esi + 0x38]
mov ebx, eax
call fcn.004710f0
lea ecx, [ebp + 4]
mov dword [ebp - 0x24], eax
call fcn.004703d0
or dword [ebp + 0x10], 0xffffffff
or dword [ebp + 0x14], 0xffffffff
mov byte [ebp - 4], 0x29
xor edi, edi
jmp 0x45e27a
mov eax, dword [ebp + 0x10]
and eax, dword [ebp + 0x14]
cmp eax, 0xffffffff
jne 0x45e1d9
push ebx
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x2a
call fcn.00470710
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x29
call fcn.00470660
lea eax, [esi + 0x30]
push eax
lea eax, [ebp + 4]
push eax
call fcn.0040d53e
pop ecx
pop ecx
test al, al
je 0x45e269
mov eax, edi
cdq
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], edx
push dword [ebp - 0x24]
call fcn.00492a70
pop ecx
test eax, eax
je 0x45e279
inc dword [ebp - 0x24]
inc edi
push dword [ebp - 0x24]
call fcn.00492a70
pop ecx
test eax, eax
jne 0x45e212
jmp 0x45e1d9
and dword [ebp + 4], 0
and dword [ebp + 8], 0
push 1
lea ecx, [esi + 0x38]
call fcn.004710f0
movzx eax, byte [eax]
lea ecx, [ebp + 4]
push ecx
push dword [esi + 0x70]
lea ecx, [esi + 0x30]
push eax
lea eax, [ebp - 0x590]
push eax
call fcn.00470800
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x2b
call fcn.00470710
lea ecx, [ebp - 0x590]
jmp 0x45db79
push 0x4cf9a0
jmp 0x45d9f9
lea ecx, [esi + 8]
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
test eax, 0xfffffff8
jne 0x45e2fd
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.stack_empty_error2_n
jmp 0x45ddc1
call fcn.0045c626
jmp case.0x45d874.0
lea ebx, [esi + 0x30]
push ebx
lea ecx, [esi + 8]
call fcn.0043d1d8
push ebx
lea ecx, [esi + 8]
call fcn.0043d1d8
jmp case.0x45d874.0
lea edi, [esi + 0x30]
push edi
mov ecx, 0x501aa0
call fcn.00470710
push edi
lea ecx, [ebp + 0x1c]
call fcn.00470710
jmp case.0x45d874.0
push 0x501aa0
jmp 0x45e330
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x38]
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.00462960
add esp, 0xc
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x2c
call fcn.00470710
lea ecx, [ebp - 0x1a0]
jmp 0x45db79
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x3a0]
push eax
call fcn.0046298f
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x2d
call fcn.00470710
lea ecx, [ebp - 0x3a0]
jmp 0x45db79
lea ebx, [esi + 0x30]
mov edi, 0x4ff674
push ebx
mov ecx, edi
call fcn.00415670
test eax, eax
je case.0x45d874.0
push ebx
mov ecx, edi
call fcn.00416850
jmp case.0x45d874.0
lea edi, [esi + 0x30]
push edi
lea eax, [esi + 0x38]
push eax
mov ecx, 0x4ff650
call fcn.00416af0
mov ecx, eax
jmp 0x45e32a
lea eax, [esi + 0x30]
push eax
mov ecx, 0x4ff650
call fcn.00416af0
push eax
jmp 0x45e330
lea edi, [esi + 0x30]
push edi
mov ecx, 0x4ff650
call fcn.00415670
test eax, eax
je case.0x45d874.0
push edi
mov ecx, 0x4ff674
jmp 0x45e3b8
lea eax, [esi + 0x38]
push eax
lea ecx, [esi + 8]
call fcn.0043d1d8
lea eax, [esi + 0x30]
push eax
jmp 0x45e314
mov ecx, dword [ebp - 0x70]
lea eax, [esi + 0x30]
push eax
jmp 0x45e333
push str.GetPlayerCookie
lea edi, [esi + 0x30]
push edi
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45e4c7
mov eax, dword [esi + 0xc]
add eax, 0xfffffff8
push eax
lea ecx, [ebp - 0x5c]
call fcn.004705c0
lea ecx, [esi + 8]
mov byte [ebp - 4], 0x2e
call fcn.0045c626
mov eax, dword [esi + 0xc]
add eax, 0xfffffff8
push eax
lea ecx, [ebp + 4]
call fcn.004705c0
lea ecx, [esi + 8]
mov byte [ebp - 4], 0x2f
call fcn.0045c626
cmp byte [ebp - 0x55], 0xff
lea ecx, [ebp - 0x5c]
jne 0x45e488
mov ecx, dword [ebp - 0x5c]
cmp byte [ebp + 0xb], 0xff
lea eax, [ebp + 4]
jne 0x45e494
mov eax, dword [ebp + 4]
lea edx, [ebp + 0x1c]
push edx
push ecx
push eax
call fcn.00412200
add esp, 0xc
test eax, eax
jne 0x45e4b3
push 0x501aa8
lea ecx, [ebp + 0x1c]
call fcn.00470710
mov byte [ebp - 4], 0x2e
lea ecx, [ebp + 4]
call fcn.00470660
lea ecx, [ebp - 0x5c]
jmp 0x45db79
push str.RPSoftwareUpdatesEnabled
push edi
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45e4f4
call fcn.00426585
test eax, eax
mov eax, 0x4d0018
jne 0x45d9f8
mov eax, 0x4d0014
jmp 0x45d9f8
push dword [ebp + 0xc]
push ecx
push ecx
mov eax, esp
mov dword [ebp + 0x18], esp
push edi
push str.unknown_special_function_call:
push eax
call fcn.00470fb0
add esp, 0xc
jmp 0x45ddc6
push 1
lea eax, [ebp + 0x1c]
push eax
lea eax, [esi + 0x30]
push eax
push dword [ebp + 0xc]
call fcn.004375cc
add esp, 0x10
test eax, eax
jne case.0x45d874.0
push 0x501aa8
jmp 0x45e330
push 1
lea eax, [ebp + 0x1c]
push eax
lea eax, [esi + 0x30]
push eax
push dword [ebp + 0xc]
call fcn.004375cc
add esp, 0x10
test eax, eax
jne case.0x45d874.0
lea eax, [esi + 0x38]
jmp 0x45e3e9
cmp byte [esi + 0x3f], 0xff
lea ecx, [esi + 0x38]
jne 0x45e56a
mov ecx, dword [esi + 0x38]
lea eax, [esi + 0x30]
cmp byte [eax + 7], 0xff
jne 0x45e575
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0045bd70
jmp case.0x45d874.0
push 0x4dc748
lea eax, [esi + 0x38]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.00470f60
add esp, 0xc
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0x30
jne 0x45e5a8
mov eax, dword [eax]
mov ebx, dword [ebp + 0x18]
push eax
mov ecx, ebx
call fcn.004704f0
lea ecx, [ebp - 0x1b0]
mov dword [ebp], eax
mov byte [ebp - 4], 0x10
call fcn.00470660
cmp dword [ebp], 0xffffffff
jne 0x45e73c
mov ecx, ebx
call fcn.004703e0
sub eax, 2
push 0x4d72c8
lea ecx, [ebp + 4]
mov dword [ebp - 0x30], eax
call fcn.00470680
push 2
lea eax, [ebp - 0x4a0]
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x31
call fcn.00470df0
push 0x4d72c8
push eax
mov byte [ebp - 4], 0x32
call fcn.0040d5af
pop ecx
pop ecx
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 0x15], al
mov byte [ebp - 4], 0x31
call fcn.00470660
cmp byte [ebp - 0x15], 0
je 0x45e636
inc dword [ebp - 0x30]
push 0x4cfb24
lea ecx, [ebp + 4]
call fcn.004707b0
push dword [ebp - 0x30]
lea eax, [ebp - 0x1f0]
push eax
mov ecx, ebx
call fcn.00470e50
push edi
push eax
lea eax, [ebp - 0x3c0]
push eax
mov byte [ebp - 4], 0x33
call fcn.00470f60
lea ecx, [esi + 0x38]
push ecx
push eax
lea eax, [ebp - 0x1e0]
push eax
mov byte [ebp - 4], 0x34
call fcn.00470f10
push 0x4dc748
push eax
lea eax, [ebp - 0x520]
push eax
mov byte [ebp - 4], 0x35
call fcn.00470f60
lea ecx, [esi + 0x30]
push ecx
push eax
lea eax, [ebp - 0x1d0]
push eax
mov byte [ebp - 4], 0x36
call fcn.00470f10
push 0x4d21b8
push eax
lea eax, [ebp - 0x3b0]
push eax
mov byte [ebp - 4], 0x37
call fcn.00470f60
lea ecx, [ebp + 4]
push ecx
push eax
lea eax, [ebp - 0x1c0]
push eax
mov byte [ebp - 4], 0x38
call fcn.00470f10
add esp, 0x48
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x39
call fcn.00470710
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0x38
call fcn.00470660
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 4], 0x37
call fcn.00470660
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 0x36
call fcn.00470660
lea ecx, [ebp - 0x520]
mov byte [ebp - 4], 0x35
call fcn.00470660
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0x34
call fcn.00470660
lea ecx, [ebp - 0x3c0]
mov byte [ebp - 4], 0x33
call fcn.00470660
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x1f0]
jmp 0x45e1d4
lea ecx, [esi + 0x38]
call fcn.004703e0
mov ecx, dword [ebp]
lea edi, [ecx + eax + 2]
push edi
lea eax, [ebp - 0x5c]
push eax
mov ecx, ebx
call fcn.00470e50
push edi
lea eax, [ebp - 0x4b0]
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x3a
call fcn.004712e0
push 0x22
mov ecx, eax
mov byte [ebp - 4], 0x3b
call fcn.00470450
lea eax, [eax + edi + 1]
lea ecx, [ebp - 0x4b0]
mov dword [ebp], eax
mov byte [ebp - 4], 0x3a
call fcn.00470660
push dword [ebp]
lea eax, [ebp + 4]
push eax
mov ecx, ebx
call fcn.004712e0
push dword [ebp]
lea eax, [ebp - 0x220]
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x3c
call fcn.004712e0
mov dword [ebp + 0x18], eax
push edi
lea eax, [ebp - 0x560]
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x3d
call fcn.00470e50
lea ecx, [esi + 0x30]
push ecx
push eax
lea eax, [ebp - 0x210]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00470f10
push 0x4e42c4
push eax
lea eax, [ebp - 0x3d0]
push eax
mov byte [ebp - 4], 0x3f
call fcn.00470f60
push dword [ebp + 0x18]
mov byte [ebp - 4], 0x40
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.00470f10
add esp, 0x24
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x41
call fcn.00470710
lea ecx, [ebp - 0x200]
mov byte [ebp - 4], 0x40
call fcn.00470660
lea ecx, [ebp - 0x3d0]
mov byte [ebp - 4], 0x3f
call fcn.00470660
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x210]
call fcn.00470660
lea ecx, [ebp - 0x560]
mov byte [ebp - 4], 0x3d
call fcn.00470660
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x3c
call fcn.00470660
mov byte [ebp - 4], 0x3a
jmp 0x45e4b7
push 0x4d7408
lea ecx, [ebp - 0x108]
call fcn.00470680
push 1
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp - 0x108]
push eax
push dword [ebp + 0xc]
mov byte [ebp - 4], 0x42
call fcn.004375cc
add esp, 0x10
lea ecx, [ebp - 0x108]
jmp 0x45db79
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.00418480
pop ecx
pop ecx
jmp 0x45d969
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.__none__
call fcn.00470680
lea eax, [ebp + 0x1c]
push eax
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.00417de0
add esp, 0x14
jmp case.0x45d874.0
push ecx
push ecx
lea eax, [esi + 0x40]
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004705c0
jmp 0x45e8c4
lea eax, [esi + 0x40]
push eax
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.004181f0
add esp, 0xc
jmp case.0x45d874.0
lea edi, [esi + 0x30]
cmp byte [edi + 7], 0xff
mov eax, edi
jne 0x45e915
mov eax, dword [edi]
push eax
xor ebx, ebx
push ebx
lea eax, [ebp - 0x2c]
push ebx
push eax
call fcn.0049a6d9
add esp, 0x10
cmp dword [ebp - 0x2c], ebx
jbe 0x45e97c
push dword [ebp - 0x2c]
call fcn.0048f372
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x45e94e
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.Unable_to_allocate_memory_in_getenv..
jmp 0x45ddc1
cmp byte [edi + 7], 0xff
jne 0x45e956
mov edi, dword [edi]
push edi
push dword [ebp - 0x2c]
lea eax, [ebp - 0x2c]
push ebx
push eax
call fcn.0049a6d9
add esp, 0x10
push ebx
lea ecx, [ebp + 0x1c]
call fcn.004707b0
push ebx
call fcn.00491f8a
pop ecx
jmp case.0x45d874.0
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.Invalid_environment_variable_in_getenv.
jmp 0x45ddc1
cmp byte [esi + 0x3f], 0xff
lea ecx, [esi + 0x38]
jne 0x45e99c
mov ecx, dword [esi + 0x38]
lea eax, [esi + 0x30]
cmp byte [eax + 7], 0xff
jne 0x45e9a7
mov eax, dword [eax]
push ecx
push eax
call fcn.0049a568
pop ecx
pop ecx
test eax, eax
je case.0x45d874.0
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.An_error_occurred_when_setting_the_environment_variable.
jmp 0x45ddc1
push dword [ebp + 0xc]
lea eax, [esi + 0x30]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004705c0
lea eax, [ebp - 0x3e0]
push eax
mov ecx, esi
call fcn.0045c9e6
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x43
call fcn.00470710
lea ecx, [ebp - 0x3e0]
jmp 0x45db79
push 0x4d764c
lea ecx, [ebp - 0xd8]
call fcn.00470680
mov ebx, 0x4cfa1a
push ebx
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x44
call fcn.00470680
push ebx
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x45
call fcn.00470680
push 1
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp + 0x1c]
push eax
push ecx
push ecx
lea eax, [esi + 0x30]
mov ecx, esp
mov dword [ebp], esp
push eax
mov byte [ebp - 4], 0x46
call fcn.004705c0
mov eax, dword [esi]
lea ecx, [ebp - 0xe0]
push ecx
lea ecx, [ebp - 0x118]
push ecx
mov ecx, esi
call dword [eax + 0xc]
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x45
call fcn.00470660
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x44
call fcn.00470660
lea ecx, [ebp - 0xd8]
jmp 0x45db79
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
jmp 0x45d921
push dword [ebp + 0xc]
lea eax, [esi + 0x30]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004705c0
jmp 0x45ddc6
lea eax, [ebp - 0x230]
push eax
call fcn.0040ecb3
pop ecx
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x47
call fcn.00470710
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x10
call fcn.00470660
push 1
push 0x4cfa1a
push 0x4e3e44
lea ecx, [ebp + 0x1c]
call fcn.004715f0
jmp 0x45dbbf
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jle case.0x45d874.0
lea ebx, [eax - 1]
lea ecx, [esi + 8]
call fcn.0045c626
dec ebx
jne 0x45eb1a
jmp case.0x45d874.0
lea eax, [ebp + 0x1c]
push eax
push ecx
push ecx
lea eax, [esi + 0x38]
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004705c0
push ecx
push ecx
lea eax, [esi + 0x30]
mov ecx, esp
mov dword [ebp], esp
push eax
mov byte [ebp - 4], 0x48
call fcn.004705c0
mov byte [ebp - 4], 0x10
call fcn.004623f8
jmp 0x45e8d5
push ecx
push ecx
lea eax, [esi + 0x50]
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004705c0
push ecx
push ecx
lea eax, [esi + 0x48]
mov ecx, esp
mov dword [ebp], esp
push eax
mov byte [ebp - 4], 0x49
call fcn.004705c0
push ecx
push ecx
lea eax, [esi + 0x40]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
mov byte [ebp - 4], 0x4a
call fcn.004705c0
push ecx
push ecx
lea eax, [esi + 0x38]
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
mov byte [ebp - 4], 0x4b
call fcn.004705c0
push ecx
push ecx
lea eax, [esi + 0x30]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
mov byte [ebp - 4], 0x4c
call fcn.004705c0
mov byte [ebp - 4], 0x10
call fcn.004621cb
add esp, 0x28
jmp 0x45e4dd
lea edi, [esi + 0x30]
push edi
lea ecx, [ebp - 0x5c]
call fcn.004705c0
mov ebx, 0x4cfa1a
push ebx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x4d
call fcn.00470680
and dword [ebp], 0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x4e
call fcn.004703e0
dec eax
push eax
mov ecx, edi
call fcn.0040d52c
cmp al, 0x5c
je 0x45ec19
push 0x4cf9a0
lea ecx, [ebp - 0x5c]
call fcn.00470ae0
lea eax, [ebp]
push eax
lea eax, [ebp - 0x28]
push eax
push edi
lea eax, [ebp + 0x18]
push eax
push ecx
push ecx
lea eax, [ebp - 0x5c]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.004705c0
call fcn.0040fcc0
add esp, 0x18
test eax, eax
jne 0x45ec71
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str.couldnt_parse_reg_reference
call fcn.00470680
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x4d
call fcn.00470660
lea ecx, [ebp - 0x5c]
jmp 0x45d54c
lea eax, [ebp - 0x28]
push 0x4d7548
push eax
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45ec8e
push ebx
lea ecx, [ebp - 0x28]
call fcn.004707b0
cmp byte [edi + 7], 0xff
jne 0x45ec96
mov edi, dword [edi]
push 0x20019
push dword [ebp]
push edi
push dword [ebp + 0x18]
call fcn.0040dcf8
add esp, 0x10
cmp byte [ebp - 0x21], 0xff
lea ecx, [ebp - 0x28]
jne 0x45ecb6
mov ecx, dword [ebp - 0x28]
push ecx
push eax
call fcn.0040dcd0
pop ecx
test eax, eax
pop ecx
mov eax, 0x4d0018
jne 0x45eccd
mov eax, 0x4d0014
push eax
lea ecx, [ebp + 0x1c]
call fcn.004707b0
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x28]
jmp 0x45e4ba
lea edi, [esi + 0x30]
push edi
lea ecx, [ebp + 4]
call fcn.004705c0
lea eax, [esi + 0x38]
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x4f
call fcn.004705c0
and dword [ebp - 0x1c], 0
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x50
call fcn.004703e0
dec eax
push eax
mov ecx, edi
call fcn.0040d52c
cmp al, 0x5c
je 0x45ed28
push 0x4cf9a0
lea ecx, [ebp + 4]
call fcn.00470ae0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x50]
push eax
push edi
lea eax, [ebp - 0x30]
push eax
push ecx
push ecx
lea eax, [ebp + 4]
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004705c0
call fcn.0040fcc0
add esp, 0x18
test eax, eax
jne 0x45ed80
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.couldnt_parse_reg_reference
call fcn.00470680
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x4f
call fcn.00470660
lea ecx, [ebp + 4]
jmp 0x45d54c
lea eax, [ebp - 0x50]
push 0x4d7548
push eax
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45eda1
push 0x4cfa1a
lea ecx, [ebp - 0x50]
call fcn.004707b0
cmp byte [edi + 7], 0xff
jne 0x45eda9
mov edi, dword [edi]
push 2
push dword [ebp - 0x1c]
push edi
push dword [ebp - 0x30]
call fcn.0040dcf8
add esp, 0x10
cmp byte [ebp - 0x49], 0xff
lea ecx, [ebp - 0x50]
jne 0x45edc6
mov ecx, dword [ebp - 0x50]
push ecx
push eax
call fcn.0040dce4
pop ecx
test eax, eax
pop ecx
mov eax, 0x4d0018
jne 0x45eddd
mov eax, 0x4d0014
push eax
lea ecx, [ebp + 0x1c]
call fcn.004707b0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x50]
jmp 0x45e1d4
push ecx
push ecx
lea eax, [esi + 0x38]
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004705c0
push ecx
push ecx
lea eax, [esi + 0x30]
mov ecx, esp
mov dword [ebp], esp
push eax
mov byte [ebp - 4], 0x51
call fcn.004705c0
lea eax, [ebp - 0x4c0]
push eax
mov byte [ebp - 4], 0x10
call fcn.004629b2
add esp, 0x14
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x52
call fcn.00470710
lea ecx, [ebp - 0x4c0]
jmp 0x45db79
lea eax, [esi + 0x40]
push eax
push ecx
push ecx
lea eax, [esi + 0x38]
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004705c0
push ecx
push ecx
lea eax, [esi + 0x30]
mov ecx, esp
mov dword [ebp], esp
push eax
mov byte [ebp - 4], 0x53
call fcn.004705c0
lea eax, [ebp - 0x240]
push eax
mov byte [ebp - 4], 0x10
call fcn.00462c46
add esp, 0x18
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x54
call fcn.00470710
lea ecx, [ebp - 0x240]
jmp 0x45db79
lea eax, [esi + 0x40]
push eax
push ecx
push ecx
lea eax, [esi + 0x38]
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004705c0
push ecx
push ecx
lea eax, [esi + 0x30]
mov ecx, esp
mov dword [ebp], esp
push eax
mov byte [ebp - 4], 0x55
call fcn.004705c0
lea eax, [ebp - 0x3f0]
push eax
mov byte [ebp - 4], 0x10
call fcn.00462c46
add esp, 0x18
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x56
call fcn.00470710
lea ecx, [ebp - 0x3f0]
jmp 0x45db79
lea eax, [esi + 0x40]
push eax
push ecx
push ecx
lea eax, [esi + 0x38]
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004705c0
push ecx
push ecx
lea eax, [esi + 0x30]
mov ecx, esp
mov dword [ebp], esp
push eax
mov byte [ebp - 4], 0x57
call fcn.004705c0
lea eax, [ebp - 0x250]
push eax
mov byte [ebp - 4], 0x10
call fcn.00462f9e
add esp, 0x18
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x58
call fcn.00470710
lea ecx, [ebp - 0x250]
jmp 0x45db79
lea eax, [esi + 0x30]
push eax
mov ecx, esi
call fcn.0045c244
lea ecx, [esi + 0x38]
cmp byte [ecx + 7], 0xff
jne 0x45ef50
mov ecx, dword [ecx]
push ecx
push eax
call fcn.00410757
pop ecx
pop ecx
jmp 0x45e4dd
lea eax, [esi + 0x30]
push eax
call fcn.0040f810
test eax, eax
pop ecx
mov eax, 0x4ff664
jne 0x45e3e9
mov eax, 0x501aa8
jmp 0x45e3e9
push 0
lea eax, [esi + 0x30]
push eax
lea eax, [ebp + 4]
push eax
call fcn.004113a0
add esp, 0xc
cmp byte [ebp + 0xb], 0xff
mov byte [ebp - 4], 0x59
lea edi, [ebp + 4]
jne 0x45efa1
mov edi, dword [ebp + 4]
push 0xc8
lea ecx, [ebp + 0x1c]
call fcn.004710f0
push eax
push edi
call fcn.00410d7f
pop ecx
pop ecx
push 0xffffffffffffffff
lea ecx, [ebp + 0x1c]
mov edi, eax
call fcn.00471180
test edi, edi
jne 0x45e1d9
push 0x4d5c2c
lea ecx, [ebp + 0x1c]
call fcn.004707b0
jmp 0x45e1d9
lea ecx, [ebp - 0x50]
call fcn.004703d0
push str.param
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x5a
call fcn.00470680
push 1
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xe8]
push eax
push dword [ebp + 0xc]
mov byte [ebp - 4], 0x5b
call fcn.004375cc
add esp, 0x10
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x5a
call fcn.00470660
xor ebx, ebx
push ebx
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x530]
push eax
call fcn.004113a0
add esp, 0xc
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x5c
call fcn.00470710
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0x5a
call fcn.00470660
cmp byte [ebp - 0x49], 0xff
lea eax, [ebp - 0x50]
jne 0x45f062
mov eax, dword [ebp - 0x50]
push ebx
push 0x2000000
push 3
push ebx
push 3
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
jne 0x45f08f
push 0x501aa8
lea ecx, [ebp + 0x1c]
call fcn.00470710
jmp 0x45f0ce
lea eax, [ebp + 4]
push eax
push edi
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
push edi
mov dword [ebp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp + 0x1c]
cmp dword [ebp + 0x18], ebx
jne 0x45f0be
push 0x4e3e40
call fcn.004707b0
jmp 0x45f0ce
push dword [ebp + 8]
push dword [ebp + 4]
push str._llu
call fcn.00437c3c
mov ecx, dword [ebp - 0x70]
call fcn.0040d4fd
test al, al
je 0x45f0e7
mov ecx, dword [ebp - 0x70]
push str.int64
call fcn.004707b0
lea ecx, [ebp - 0x50]
jmp 0x45db79
lea ecx, [ebp + 4]
call fcn.004703d0
lea ebx, [esi + 0x30]
mov edi, 0x4ff674
push ebx
mov ecx, edi
mov byte [ebp - 4], 0x5d
call fcn.00416af0
push eax
lea ecx, [ebp + 4]
call fcn.00470710
cmp byte [ebp + 0xb], 0xff
lea eax, [ebp + 4]
jne 0x45f120
mov eax, dword [ebp + 4]
push eax
call fcn.004944a5
push dword [esi + 0x70]
mov dword [ebp], eax
lea eax, [ebp + 0x1c]
push eax
lea eax, [esi + 0x38]
push eax
lea eax, [ebp]
push eax
call fcn.0040e7ce
add esp, 0x14
test eax, eax
je 0x45f157
lea eax, [ebp + 0x1c]
push eax
lea ecx, [esi + 8]
call fcn.0043d1d8
push 0x4d0018
jmp 0x45f15c
push 0x4d0014
lea ecx, [ebp + 0x1c]
call fcn.004707b0
push 0xa
lea eax, [ebp + 0x38]
push eax
push dword [ebp]
call fcn.004b9bd1
add esp, 0xc
lea eax, [ebp + 0x38]
push eax
push ebx
mov ecx, edi
call fcn.00416af0
mov ecx, eax
jmp 0x45efd3
lea ecx, [ebp + 4]
call fcn.004703d0
lea eax, [esi + 0x30]
push eax
mov ecx, 0x4ff674
mov byte [ebp - 4], 0x5e
call fcn.00416af0
push eax
lea ecx, [ebp + 4]
call fcn.00470710
cmp byte [ebp + 0xb], 0xff
lea eax, [ebp + 4]
jne 0x45f1b7
mov eax, dword [ebp + 4]
push eax
call fcn.004944a5
mov dword [ebp + 0x18], eax
lea eax, [ebp + 0x18]
push eax
call fcn.0040e89f
pop ecx
pop ecx
jmp 0x45e1d9
lea ecx, [ebp + 4]
call fcn.004703d0
lea ebx, [esi + 0x30]
mov edi, 0x4ff674
push ebx
mov ecx, edi
mov byte [ebp - 4], 0x5f
call fcn.00416af0
push eax
lea ecx, [ebp + 4]
call fcn.00470710
cmp byte [ebp + 0xb], 0xff
lea eax, [ebp + 4]
jne 0x45f201
mov eax, dword [ebp + 4]
push eax
call fcn.004944a5
mov dword [ebp], eax
lea eax, [ebp + 0x1c]
push eax
lea eax, [esi + 0x38]
push eax
lea eax, [ebp]
push eax
call fcn.0040eaff
add esp, 0x10
jmp 0x45f140
lea ecx, [ebp + 4]
call fcn.004703d0
lea eax, [esi + 0x30]
push eax
mov ecx, 0x4ff674
mov byte [ebp - 4], 0x60
call fcn.00416af0
push eax
lea ecx, [ebp + 4]
call fcn.00470710
cmp byte [ebp + 0xb], 0xff
lea eax, [ebp + 4]
jne 0x45f252
mov eax, dword [ebp + 4]
push eax
call fcn.004944a5
mov dword [ebp + 0x18], eax
lea eax, [ebp + 0x18]
push eax
call fcn.0040eca1
jmp 0x45f1c9
lea ecx, [ebp + 4]
call fcn.004703d0
lea eax, [ebp + 4]
push eax
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x30]
push eax
mov byte [ebp - 4], 0x61
call fcn.004626c8
add esp, 0xc
test eax, eax
je 0x45f2a3
lea eax, [ebp + 4]
push eax
lea ecx, [esi + 8]
call fcn.0043d1d8
push 0x4d0018
jmp 0x45efd0
push 0x4d0014
jmp 0x45efd0
xor edi, edi
inc edi
lea eax, [esi + 0x30]
imul edi, edi, 0xa
cmp byte [eax + 7], 0xff
jne 0x45f2be
mov eax, dword [eax]
lea ecx, [esi + 0x48]
cmp byte [ecx + 7], 0xff
jne 0x45f2c9
mov ecx, dword [ecx]
mov dword [ebp], ecx
lea ecx, [esi + 0x40]
cmp byte [ecx + 7], 0xff
jne 0x45f2d7
mov ecx, dword [ecx]
cmp byte [esi + 0x3f], 0xff
mov dword [ebp - 0x1c], ecx
lea ebx, [esi + 0x38]
jne 0x45f2e6
mov ebx, dword [esi + 0x38]
push eax
push edi
push edi
lea ecx, [ebp + 0x1c]
call fcn.004710f0
push eax
push dword [ebp]
push dword [ebp - 0x1c]
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [edi - 1]
cmp eax, ecx
je 0x45f2b0
push 0xffffffffffffffff
lea ecx, [ebp + 0x1c]
call fcn.00471180
jmp case.0x45d874.0
push 0
lea edi, [esi + 0x30]
lea eax, [ebp - 0x260]
push edi
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x62
call fcn.00470710
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x10
call fcn.00470660
cmp byte [edi + 7], 0xff
jne 0x45f34d
mov edi, dword [edi]
cmp byte [esi + 0x4f], 0xff
lea edx, [esi + 0x48]
jne 0x45f359
mov edx, dword [esi + 0x48]
cmp byte [esi + 0x47], 0xff
lea ecx, [esi + 0x40]
jne 0x45f365
mov ecx, dword [esi + 0x40]
lea eax, [esi + 0x38]
cmp byte [eax + 7], 0xff
jne 0x45f370
mov eax, dword [eax]
push edi
push edx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp case.0x45d874.0
push 0
lea edi, [esi + 0x30]
lea eax, [ebp - 0x400]
push edi
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x63
call fcn.00470710
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 0x10
call fcn.00470660
cmp byte [edi + 7], 0xff
jne 0x45f3b7
mov edi, dword [edi]
cmp byte [esi + 0x47], 0xff
lea ecx, [esi + 0x40]
jne 0x45f3c3
mov ecx, dword [esi + 0x40]
lea eax, [esi + 0x38]
cmp byte [eax + 7], 0xff
jne 0x45f3ce
mov eax, dword [eax]
push edi
push 0
jmp 0x45f372
xor ebx, ebx
push ebx
lea edi, [esi + 0x30]
lea eax, [ebp - 0x270]
push edi
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x64
call fcn.00470710
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0x10
call fcn.00470660
cmp byte [edi + 7], 0xff
jne 0x45f40c
mov edi, dword [edi]
lea eax, [esi + 0x38]
cmp byte [eax + 7], 0xff
jne 0x45f417
mov eax, dword [eax]
push edi
push ebx
push ebx
jmp 0x45f373
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x45d921
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp case.0x45d874.0
mov ecx, esi
call fcn.0045c8a6
jmp case.0x45d874.0
push 0
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x4d0]
push eax
call fcn.004113a0
add esp, 0xc
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x65
call fcn.00470710
lea ecx, [ebp - 0x4d0]
jmp 0x45db79
lea eax, [ebp + 0x1c]
push eax
lea eax, [esi + 0x30]
push eax
mov ecx, esi
call fcn.0045cbde
jmp case.0x45d874.0
push 0x4fe540
lea eax, [esi + 0x30]
push eax
mov ecx, 0x4fee64
call fcn.0041ae51
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
jmp 0x45d969
lea ecx, [ebp + 4]
call fcn.004703d0
push 0x4fe540
lea eax, [ebp + 4]
push eax
lea eax, [esi + 0x30]
push eax
mov ecx, 0x4fee64
mov byte [ebp - 4], 0x66
call fcn.0041b161
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
cdq
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], edx
test ecx, ecx
je 0x45e1d9
lea eax, [ebp + 0x1c]
push eax
lea ecx, [esi + 8]
call fcn.0043d1d8
jmp 0x45e1d9
lea eax, [esi + 0x30]
push eax
lea ecx, [ebp + 0x1c]
call fcn.00470710
push 1
push 0x4d72b8
push 0x4cf9a0
jmp 0x45de0e
push ecx
push ecx
lea eax, [esi + 0x30]
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004705c0
lea eax, [ebp - 0x280]
push eax
call fcn.00462639
add esp, 0xc
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x67
call fcn.00470710
lea ecx, [ebp - 0x280]
jmp 0x45db79
lea eax, [esi + 0x30]
push eax
mov edi, 0x4e42c4
lea eax, [ebp - 0x290]
push edi
push eax
call fcn.00470fb0
push edi
push eax
lea eax, [ebp - 0x410]
push eax
mov byte [ebp - 4], 0x68
call fcn.00470f60
add esp, 0x18
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x69
call fcn.00470710
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 0x68
call fcn.00470660
lea ecx, [ebp - 0x290]
jmp 0x45db79
and dword [ebp], 0
lea ecx, [esi + 0x30]
call fcn.004703e0
mov edi, eax
test edi, edi
je case.0x45d874.0
lea eax, [edi - 1]
push eax
lea ecx, [esi + 0x30]
mov dword [ebp + 0x18], eax
call fcn.0040d52c
cmp al, 0x22
jne 0x45f5c3
mov edi, dword [ebp + 0x18]
cmp edi, 1
je 0x45f5dd
push 0
lea ecx, [esi + 0x30]
call fcn.0040d52c
cmp al, 0x22
jne 0x45f5dd
mov dword [ebp], 1
dec edi
push edi
push dword [ebp]
lea eax, [ebp - 0x580]
push eax
lea ecx, [esi + 0x30]
call fcn.00470d10
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x6a
call fcn.00470710
lea ecx, [ebp - 0x580]
jmp 0x45db79
lea eax, [ebp - 0x2a0]
push eax
call fcn.0040fa40
pop ecx
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x6b
call fcn.00470710
lea ecx, [ebp - 0x2a0]
jmp 0x45db79
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x420]
push eax
call fcn.00412b10
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x6c
call fcn.00470710
lea ecx, [ebp - 0x420]
jmp 0x45db79
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.00412b40
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x6d
call fcn.00470710
lea ecx, [ebp - 0x120]
jmp 0x45db79
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x4e0]
push eax
call fcn.00412b70
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x6e
call fcn.00470710
lea ecx, [ebp - 0x4e0]
jmp 0x45db79
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.00412ba0
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x6f
call fcn.00470710
lea ecx, [ebp - 0x2c0]
jmp 0x45db79
lea eax, [ebp + 0x1c]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.0044965c
pop ecx
jmp 0x45e976
lea eax, [ebp + 0x1c]
push eax
lea ecx, [esi + 0x30]
call fcn.004703e0
push eax
push 1
lea ecx, [esi + 0x30]
call fcn.004710f0
push eax
call fcn.0040fb50
jmp 0x45e900
cmp dword [ebx + 4], 0
jl case.0x45d874.0
jg 0x45f720
cmp dword [ebx], 0
jbe case.0x45d874.0
lea eax, [esi + 0x30]
push eax
lea ecx, [esi + 8]
mov dword [ebp - 0x20], 1
call fcn.0043d1d8
push str.foreach_
lea ecx, [ebp - 0x540]
call fcn.00470680
lea ecx, [esi + 0x40]
push ecx
push eax
lea eax, [ebp - 0x2d0]
push eax
mov byte [ebp - 4], 0x70
call fcn.00470f10
push 0x4d16f4
push eax
lea eax, [ebp - 0x430]
push eax
mov byte [ebp - 4], 0x71
call fcn.00470f60
add esp, 0x18
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x72
call fcn.00470710
lea ecx, [ebp - 0x430]
mov byte [ebp - 4], 0x71
call fcn.00470660
lea ecx, [ebp - 0x2d0]
mov byte [ebp - 4], 0x70
call fcn.00470660
lea ecx, [ebp - 0x540]
jmp 0x45db79
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
test ecx, ecx
jg 0x45f897
jl 0x45f7be
test eax, eax
jne 0x45f897
push ecx
push eax
lea eax, [ebp - 0x2e0]
push eax
mov ecx, esi
mov dword [ebp - 0x20], 1
call fcn.0045c4ff
push eax
lea ecx, [esi + 8]
mov byte [ebp - 4], 0x73
call fcn.0045c778
lea ecx, [ebp - 0x2e0]
mov byte [ebp - 4], 0x10
call fcn.00470660
push 0x4dc6ac
lea ecx, [ebp - 0xf8]
call fcn.00470680
lea eax, [ebp - 0xf8]
push eax
lea ecx, [esi + 8]
mov byte [ebp - 4], 0x74
call fcn.0043d1d8
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x10
call fcn.00470660
push str.end_foreach_
lea ecx, [ebp - 0x4f0]
call fcn.00470680
lea ecx, [esi + 0x38]
push ecx
push eax
lea eax, [ebp - 0x2f0]
push eax
mov byte [ebp - 4], 0x75
call fcn.00470f10
push 0x4d16f4
push eax
lea eax, [ebp - 0x440]
push eax
mov byte [ebp - 4], 0x76
call fcn.00470f60
add esp, 0x18
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x77
call fcn.00470710
lea ecx, [ebp - 0x440]
mov byte [ebp - 4], 0x76
call fcn.00470660
lea ecx, [ebp - 0x2f0]
mov byte [ebp - 4], 0x75
call fcn.00470660
lea ecx, [ebp - 0x4f0]
jmp 0x45db79
mov eax, dword [esi + 0xc]
add eax, 0xfffffff8
push eax
lea ecx, [ebp + 4]
call fcn.004705c0
lea ecx, [esi + 8]
mov byte [ebp - 4], 0x78
call fcn.0045c626
add dword [ebx], 0xffffffff
lea eax, [ebp - 0x300]
mov ecx, esi
adc dword [ebx + 4], 0xffffffff
push dword [ebx + 4]
push dword [ebx]
push eax
call fcn.0045c4ff
push eax
lea ecx, [esi + 8]
mov byte [ebp - 4], 0x79
call fcn.0045c778
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 0x78
call fcn.00470660
lea eax, [ebp + 4]
jmp 0x45f4e3
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jne 0x45f908
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
jne 0x45f908
mov dword [ebp - 0x20], 1
jmp 0x45f90c
and dword [ebp - 0x20], 0
lea eax, [esi + 0x40]
push eax
lea ecx, [ebp - 0x40]
call fcn.00470710
mov eax, dword [ebx]
mov dword [ebp + 0x10], eax
mov eax, dword [ebx + 4]
jmp 0x461544
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jne 0x45f8ff
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
je 0x45f908
jmp 0x45f8ff
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
jl 0x45f908
jg 0x45f8ff
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jbe 0x45f908
jmp 0x45f8ff
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
jl 0x45f908
jg 0x45f8ff
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jb 0x45f908
jmp 0x45f8ff
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
jg 0x45f908
jl 0x45f8ff
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jae 0x45f908
jmp 0x45f8ff
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
jg 0x45f908
jl 0x45f8ff
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
ja 0x45f908
jmp 0x45f8ff
lea eax, [esi + 0x38]
push eax
lea edi, [esi + 0x30]
push edi
call fcn.0040d53e
movzx eax, al
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
lea eax, [esi + 0x40]
push eax
lea ecx, [ebp - 0x40]
jmp 0x45e32a
lea eax, [esi + 0x38]
push eax
lea edi, [esi + 0x30]
push edi
call fcn.0040d585
jmp 0x45f992
mov eax, dword [ebp - 0x54]
cmp byte [eax + 7], 0xff
jne 0x45f9c0
mov eax, dword [eax]
mov ecx, dword [ebp - 0x88]
mov ecx, dword [ecx]
sub ecx, eax
lea eax, [ebp + 0x18]
mov dword [ebp + 0x18], ecx
push eax
mov ecx, 0x4ff640
call fcn.0045c6c6
lea eax, [esi + 0x30]
mov dword [ebp - 0x20], 1
push eax
lea ecx, [ebp - 0x40]
jmp 0x45e333
lea ecx, [ebp + 4]
call fcn.004703d0
mov ebx, 0x4cfa1a
push ebx
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x7a
call fcn.00470680
push ebx
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x7b
call fcn.00470680
push ebx
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x7c
call fcn.00470680
push ebx
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x7d
call fcn.00470680
push ebx
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x7e
call fcn.00470680
push ebx
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0x7f
call fcn.00470680
mov edi, eax
push ebx
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x80
call fcn.00470680
push 0
lea ecx, [ebp - 0xb0]
push ecx
lea ecx, [ebp - 0x110]
push ecx
lea ecx, [ebp + 0x1c]
push ecx
lea ecx, [ebp - 0xd0]
push ecx
lea ecx, [ebp - 0xf0]
push ecx
lea ecx, [ebp - 0xc0]
push ecx
lea ecx, [esi + 0x30]
push ecx
push dword [ebp - 0x70]
mov ecx, esi
push edi
push eax
push dword [ebp + 0xc]
mov byte [ebp - 4], 0x81
call fcn.00461ae8
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x80
call fcn.00470660
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0x7f
call fcn.00470660
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x7e
call fcn.00470660
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x7d
call fcn.00470660
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x7c
call fcn.00470660
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x7b
call fcn.00470660
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0xb0]
jmp 0x45e1d4
mov eax, dword [0x4ff644]
sub eax, dword [0x4ff640]
test eax, 0xfffffffc
jne 0x45fb3c
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.return_attempted_with_empty_stack
jmp 0x45ddc1
push str.__return_address__
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x20], 1
call fcn.004707b0
mov eax, dword [0x4ff644]
lea ecx, [eax - 4]
mov edx, dword [ecx]
mov dword [ebp - 0x68], edx
cmp dword [0x4ff640], eax
je case.0x45d874.0
mov dword [0x4ff644], ecx
jmp case.0x45d874.0
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x30]
add eax, 0xfffffff8
push ecx
push eax
call fcn.0040d53e
pop ecx
pop ecx
test al, al
je case.0x45d874.0
push str.__exit__
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x20], 1
call fcn.004707b0
mov ecx, dword [ebp - 0x54]
call fcn.004703e0
mov dword [ebp - 0x68], eax
jmp case.0x45d874.0
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x30]
add eax, 0xfffffff8
push ecx
push eax
call fcn.0040d585
jmp 0x45fb84
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x30]
add eax, 0xfffffff8
push ecx
push eax
call fcn.0040d53e
pop ecx
pop ecx
test al, al
je case.0x45d874.0
push 0x4d0018
lea ecx, [ebp - 0x100]
call fcn.00470680
lea eax, [ebp - 0x100]
push eax
lea ecx, [esi + 8]
mov byte [ebp - 4], 0x82
call fcn.0043d1d8
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x10
call fcn.00470660
jmp case.0x45d874.145
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x30]
add eax, 0xfffffff8
push ecx
push eax
call fcn.0040d53e
pop ecx
pop ecx
test al, al
je case.0x45d874.0
push 0x4d0014
lea ecx, [ebp - 0xb8]
call fcn.00470680
lea eax, [ebp - 0xb8]
push eax
lea ecx, [esi + 8]
mov byte [ebp - 4], 0x83
call fcn.0043d1d8
lea ecx, [ebp - 0xb8]
jmp 0x45fc07
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x30]
add eax, 0xfffffff8
push ecx
push eax
call fcn.0040d585
pop ecx
pop ecx
test al, al
je case.0x45d874.0
push 0x4d0018
lea ecx, [ebp - 0xc8]
call fcn.00470680
lea eax, [ebp - 0xc8]
push eax
lea ecx, [esi + 8]
mov byte [ebp - 4], 0x84
call fcn.0043d1d8
lea ecx, [ebp - 0xc8]
jmp 0x45fc07
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x30]
add eax, 0xfffffff8
push ecx
push eax
call fcn.0040d585
pop ecx
pop ecx
test al, al
je case.0x45d874.0
push 0x4d0014
lea ecx, [ebp - 0xa0]
call fcn.00470680
lea eax, [ebp - 0xa0]
push eax
lea ecx, [esi + 8]
mov byte [ebp - 4], 0x85
call fcn.0043d1d8
lea ecx, [ebp - 0xa0]
jmp 0x45fc07
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.0040d53e
pop ecx
pop ecx
test al, al
jmp 0x45e4df
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.0040d585
jmp 0x45fcf7
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jne 0x45e4ea
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
mov eax, 0x4d0018
je 0x45d9f8
jmp 0x45e4ea
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jne 0x45e0c2
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
je 0x45e4ea
jmp 0x45e0c2
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
jl 0x45e4ea
jg 0x45e0c2
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jbe 0x45e4ea
jmp 0x45e0c2
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
jl 0x45e4ea
jg 0x45e0c2
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jb 0x45e4ea
jmp 0x45e0c2
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
jg 0x45e4ea
jl 0x45e0c2
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
jae 0x45e4ea
jmp 0x45e0c2
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x6c]
jg 0x45e4ea
jl 0x45e0c2
mov eax, dword [ebx]
cmp eax, dword [esi + 0x68]
ja 0x45e4ea
jmp 0x45e0c2
push 0x4d877c
lea edi, [esi + 0x40]
push edi
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45fdf7
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.0040d53e
jmp 0x45fe19
push 0x4d8778
push edi
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x46007e
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.0040d585
mov edi, dword [ebp - 0x88]
pop ecx
pop ecx
xor ecx, ecx
test al, al
setne cl
xor ebx, ebx
push ebx
push edi
mov eax, ecx
cmp eax, ebx
je 0x45ff08
lea eax, [ebp - 0x74]
push eax
call fcn.0045bf50
add esp, 0xc
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x86
call fcn.004714e0
lea ecx, [ebp - 0x74]
call fcn.00471440
lea eax, [ebp - 0x74]
push str.then
push eax
call fcn.0040d5af
pop ecx
pop ecx
test al, al
je 0x45fe8d
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.missing_or_improper_then
call fcn.00470680
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x74]
jmp 0x45d54c
push ebx
lea eax, [ebp - 0x570]
push edi
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x87
call fcn.00470710
lea ecx, [ebp - 0x570]
mov byte [ebp - 4], 0x86
call fcn.00470660
lea ecx, [ebp - 0x74]
call fcn.004714e0
lea ecx, [ebp - 0x74]
call fcn.00471440
lea eax, [ebp - 0x74]
push 0x4dc3ac
push eax
call fcn.0040d5af
pop ecx
pop ecx
test al, al
je 0x45feef
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.missing_or_improper_then_clause
jmp 0x45fe79
dec dword [edi]
push 0x4dc8bc
mov ecx, 0x4ff66c
call fcn.004707b0
lea ecx, [ebp - 0x74]
jmp 0x45db79
lea eax, [ebp - 0x38]
push eax
call fcn.0045bf50
add esp, 0xc
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x88
call fcn.004714e0
lea ecx, [ebp - 0x38]
call fcn.00471440
lea eax, [ebp - 0x38]
push str.then
push eax
call fcn.0040d5af
pop ecx
pop ecx
test al, al
je 0x45ff5f
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.missing_or_improper_then
call fcn.00470680
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x38]
jmp 0x45d54c
push edi
mov ecx, esi
call fcn.0045c324
test eax, eax
jne 0x45ff7c
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.missing_or_improper_curly_brace
jmp 0x45ff4b
mov ebx, dword [edi]
push 0
lea eax, [ebp - 0x320]
push edi
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x89
call fcn.00470710
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 0x88
call fcn.00470660
lea ecx, [ebp - 0x38]
call fcn.004714e0
lea ecx, [ebp - 0x38]
call fcn.00471440
lea eax, [ebp - 0x38]
push 0x4e4578
push eax
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x45ffd7
mov dword [edi], ebx
jmp 0x460076
lea eax, [ebp - 0x38]
push str.else
push eax
call fcn.0040d5af
pop ecx
pop ecx
test al, al
je 0x45ffff
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.missing_or_improper_else
jmp 0x45ff4b
push 0
lea eax, [ebp - 0x460]
push edi
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x8a
call fcn.00470710
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0x88
call fcn.00470660
lea ecx, [ebp - 0x38]
call fcn.004714e0
lea ecx, [ebp - 0x38]
call fcn.00471440
lea eax, [ebp - 0x38]
push 0x4dc3ac
push eax
call fcn.0040d5af
pop ecx
pop ecx
test al, al
je 0x460065
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.missing_or_improper_else_clause
jmp 0x45ff4b
dec dword [edi]
push 0x4dc8bc
mov ecx, 0x4ff66c
call fcn.004707b0
lea ecx, [ebp - 0x38]
jmp 0x45db79
push dword [ebp + 0xc]
push ecx
push ecx
mov eax, esp
mov dword [ebp + 0x18], esp
push edi
push str.Unkown_logical_operator:
jmp 0x45e504
and dword [ebp - 0x30], 0
mov edi, dword [ebp - 0x88]
mov ebx, dword [edi]
push 0
lea eax, [ebp - 0x14]
push edi
push eax
call fcn.0045bf50
add esp, 0xc
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x8b
call fcn.004714e0
lea ecx, [ebp - 0x14]
call fcn.00471440
lea eax, [ebp - 0x14]
push str.case
push eax
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x4601e4
xor ebx, ebx
push ebx
lea eax, [ebp - 0x330]
push edi
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x8c
call fcn.00470710
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x8b
call fcn.00470660
lea ecx, [ebp - 0x14]
call fcn.004714e0
lea ecx, [ebp - 0x14]
call fcn.00471440
cmp byte [ebp - 0xd], 0xff
lea eax, [ebp - 0x14]
jne 0x460125
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x28
jne 0x46021e
lea ecx, [ebp - 0x14]
call fcn.004703e0
xor ecx, ecx
inc ecx
sub ecx, eax
add dword [edi], ecx
push 0x4d16f4
lea eax, [ebp - 0x500]
push edi
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x8d
call fcn.00470710
lea ecx, [ebp - 0x500]
mov byte [ebp - 4], 0x8b
call fcn.00470660
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040d585
pop ecx
pop ecx
push ebx
push edi
test al, al
je 0x460252
lea eax, [ebp - 0x340]
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x8e
call fcn.00470710
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0x8b
call fcn.00470660
lea ecx, [ebp - 0x14]
call fcn.004714e0
lea ecx, [ebp - 0x14]
call fcn.00471440
cmp byte [ebp - 0xd], 0xff
lea eax, [ebp - 0x14]
jne 0x4601ce
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x29
jne 0x46021e
lea ecx, [ebp - 0x14]
call fcn.004703e0
xor ecx, ecx
inc ecx
sub ecx, eax
add dword [edi], ecx
jmp 0x460201
lea eax, [ebp - 0x14]
push str.default
push eax
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x460318
mov eax, dword [edi]
mov dword [ebp - 0x30], eax
push edi
mov ecx, esi
call fcn.0045c324
test eax, eax
je 0x460241
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x10
call fcn.00470660
jmp 0x46009d
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.missing_or_improper_case_stmt
call fcn.00470680
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x14]
jmp 0x45d54c
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.missing_or_improper_curly_brace
jmp 0x46022d
lea eax, [ebp - 0x470]
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x8f
call fcn.00470710
lea ecx, [ebp - 0x470]
mov byte [ebp - 4], 0x8b
call fcn.00470660
lea ecx, [ebp - 0x14]
call fcn.004714e0
lea ecx, [ebp - 0x14]
call fcn.00471440
cmp byte [ebp - 0xd], 0xff
lea eax, [ebp - 0x14]
jne 0x460299
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x29
jne 0x46021e
lea ecx, [ebp - 0x14]
call fcn.004703e0
xor ecx, ecx
inc ecx
sub ecx, eax
add dword [edi], ecx
push ebx
lea eax, [ebp - 0x350]
push edi
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x90
call fcn.00470710
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x8b
call fcn.00470660
lea ecx, [ebp - 0x14]
call fcn.004714e0
lea ecx, [ebp - 0x14]
call fcn.00471440
lea eax, [ebp - 0x14]
push 0x4dc3ac
push eax
call fcn.0040d5af
pop ecx
pop ecx
test al, al
jne 0x46021e
push str.switch
mov ecx, 0x4ff66c
call fcn.004707b0
dec dword [edi]
jmp 0x4603b6
lea eax, [ebp - 0x14]
push 0x4e4578
push eax
call fcn.0040d567
pop ecx
pop ecx
test al, al
je 0x4603be
cmp dword [ebp - 0x30], 0
je 0x4603b4
mov eax, dword [ebp - 0x30]
push 0
mov dword [edi], eax
lea eax, [ebp - 0x550]
push edi
push eax
call fcn.0045bf50
add esp, 0xc
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x91
call fcn.00470710
lea ecx, [ebp - 0x550]
mov byte [ebp - 4], 0x8b
call fcn.00470660
lea ecx, [ebp - 0x14]
call fcn.004714e0
lea ecx, [ebp - 0x14]
call fcn.00471440
lea eax, [ebp - 0x14]
push 0x4dc3ac
push eax
call fcn.0040d5af
pop ecx
pop ecx
test al, al
je 0x4603a1
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.missing_or_improper_switch_default_stmt
jmp 0x46022d
dec dword [edi]
push str.switch
mov ecx, 0x4ff66c
call fcn.004707b0
jmp 0x4603b6
mov dword [edi], ebx
lea ecx, [ebp - 0x14]
jmp 0x45db79
push dword [ebp + 0xc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push str.missing_or_improper_switch_stmt
jmp 0x46022d
push ecx
push ecx
lea eax, [ebp - 0x90]
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004705c0
lea eax, [esi + 8]
push eax
push ecx
push ecx
mov ecx, esp
mov dword [ebp], esp
push 0x4dc530
mov byte [ebp - 4], 0x92
call fcn.00470680
push dword [ebx]
mov ecx, esi
mov byte [ebp - 4], 0x10
call fcn.0045c3aa
jmp case.0x45d874.0
mov dword [0x4ff63c], 1
jmp case.0x45d874.0
and dword [0x4ff63c], 0
jmp case.0x45d874.0
mov eax, dword [0x4ff678]
mov edi, dword [0x4ff674]
mov ebx, eax
xor ecx, ecx
sub ebx, edi
sar ebx, 4
cmp edi, eax
setne cl
push 0
push 4
push str.Named_vars:
mov eax, ecx
mov dword [ebp + 0x18], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
test ebx, ebx
je 0x46055f
mov edi, 0x4ff674
lea ecx, [ebp - 0x5c]
dec ebx
call fcn.004703d0
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x93
call fcn.004703d0
lea eax, [ebp + 4]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp + 0x18]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x94
call fcn.00413a80
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x148]
push 0x4d8764
push eax
call fcn.00470fb0
push 0x4cfe7c
push eax
lea eax, [ebp - 0x138]
push eax
mov byte [ebp - 4], 0x95
call fcn.00470f60
lea ecx, [ebp + 4]
push ecx
push eax
lea eax, [ebp - 0x128]
push eax
mov byte [ebp - 4], 0x96
call fcn.00470f10
push 0x4dc51c
push eax
lea eax, [ebp - 0x360]
push eax
mov byte [ebp - 4], 0x97
call fcn.00470f60
add esp, 0x30
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0x98
jne 0x4604f7
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push 0
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x97
call fcn.00470660
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x96
call fcn.00470660
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0x95
call fcn.00470660
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x94
call fcn.00470660
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x93
call fcn.00470660
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x10
call fcn.00470660
test ebx, ebx
jne 0x460466
mov eax, dword [esi]
push 0
push 0
push 0x4cfa38
mov ecx, esi
call dword [eax + 8]
jmp case.0x45d874.0
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x168]
push str.log:
push eax
call fcn.00470fb0
push 0x4cfa38
push eax
lea eax, [ebp - 0x158]
push eax
mov byte [ebp - 4], 0x99
call fcn.00470f60
add esp, 0x18
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0x9a
jne 0x4605ae
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x99
call fcn.00470660
lea ecx, [ebp - 0x168]
jmp 0x45db79
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x1a8]
push str.log:
push eax
call fcn.00470fb0
push edi
push eax
lea eax, [ebp - 0x198]
push eax
mov byte [ebp - 4], 0x9b
call fcn.00470f60
lea ecx, [esi + 0x38]
push ecx
push eax
lea eax, [ebp - 0x188]
push eax
mov byte [ebp - 4], 0x9c
call fcn.00470f10
push 0x4cfa38
push eax
lea eax, [ebp - 0x178]
push eax
mov byte [ebp - 4], 0x9d
call fcn.00470f60
add esp, 0x30
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0x9e
jne 0x460635
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x9d
call fcn.00470660
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x9c
call fcn.00470660
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x9b
call fcn.00470660
lea ecx, [ebp - 0x1a8]
jmp 0x45db79
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x208]
push str.log:
push eax
call fcn.00470fb0
push edi
push eax
lea eax, [ebp - 0x1f8]
push eax
mov byte [ebp - 4], 0x9f
call fcn.00470f60
lea ecx, [esi + 0x38]
push ecx
push eax
lea eax, [ebp - 0x1e8]
push eax
mov byte [ebp - 4], 0xa0
call fcn.00470f10
push edi
push eax
lea eax, [ebp - 0x1d8]
push eax
mov byte [ebp - 4], 0xa1
call fcn.00470f60
lea ecx, [esi + 0x40]
push ecx
push eax
lea eax, [ebp - 0x1c8]
push eax
mov byte [ebp - 4], 0xa2
call fcn.00470f10
push 0x4cfa38
push eax
lea eax, [ebp - 0x1b8]
push eax
mov byte [ebp - 4], 0xa3
call fcn.00470f60
add esp, 0x48
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xa4
jne 0x460701
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0xa3
call fcn.00470660
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 0xa2
call fcn.00470660
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 0xa1
call fcn.00470660
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 0xa0
call fcn.00470660
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0x9f
call fcn.00470660
lea ecx, [ebp - 0x208]
jmp 0x45db79
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x288]
push str.log:
push eax
call fcn.00470fb0
push edi
push eax
lea eax, [ebp - 0x278]
push eax
mov byte [ebp - 4], 0xa5
call fcn.00470f60
lea ecx, [esi + 0x38]
push ecx
push eax
lea eax, [ebp - 0x268]
push eax
mov byte [ebp - 4], 0xa6
call fcn.00470f10
push edi
push eax
lea eax, [ebp - 0x258]
push eax
mov byte [ebp - 4], 0xa7
call fcn.00470f60
lea ecx, [esi + 0x40]
push ecx
push eax
lea eax, [ebp - 0x248]
push eax
mov byte [ebp - 4], 0xa8
call fcn.00470f10
push edi
push eax
lea eax, [ebp - 0x238]
push eax
mov byte [ebp - 4], 0xa9
call fcn.00470f60
add esp, 0x48
lea ecx, [esi + 0x48]
push ecx
push eax
lea eax, [ebp - 0x228]
push eax
mov byte [ebp - 4], 0xaa
call fcn.00470f10
push 0x4cfa38
push eax
lea eax, [ebp - 0x218]
push eax
mov byte [ebp - 4], 0xab
call fcn.00470f60
add esp, 0x18
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xac
jne 0x460815
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 0xab
call fcn.00470660
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0xaa
call fcn.00470660
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0xa9
call fcn.00470660
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0xa8
call fcn.00470660
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 0xa7
call fcn.00470660
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0xa6
call fcn.00470660
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0xa5
call fcn.00470660
lea ecx, [ebp - 0x288]
jmp 0x45db79
lea edi, [esi + 0x30]
push edi
lea eax, [ebp - 0x2a8]
push str.log_options:__
push eax
call fcn.00470fb0
push str.___r_n
push eax
lea eax, [ebp - 0x298]
push eax
mov byte [ebp - 4], 0xad
call fcn.00470f60
add esp, 0x18
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xae
jne 0x4608cf
mov eax, dword [eax]
mov edx, dword [esi]
xor ebx, ebx
push ebx
push ebx
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 0xad
call fcn.00470660
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0x10
call fcn.00470660
lea ecx, [ebp - 0x5c]
call fcn.004703d0
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0xaf
call fcn.004703d0
lea eax, [ebp + 4]
push eax
lea eax, [ebp - 0x5c]
push eax
push edi
mov byte [ebp - 4], 0xb0
call fcn.00418bf0
add esp, 0xc
mov edi, 0x4cfa38
push 0x4dc4f8
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x2d8]
push eax
call fcn.00470f60
lea ecx, [ebp + 4]
push ecx
push eax
lea eax, [ebp - 0x2c8]
push eax
mov byte [ebp - 4], 0xb1
call fcn.00470f10
push edi
push eax
lea eax, [ebp - 0x2b8]
push eax
mov byte [ebp - 4], 0xb2
call fcn.00470f60
add esp, 0x24
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xb3
jne 0x460972
mov eax, dword [eax]
mov edx, dword [esi]
push ebx
push ebx
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0xb2
call fcn.00470660
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0xb1
call fcn.00470660
lea ecx, [ebp - 0x2d8]
mov byte [ebp - 4], 0xb0
call fcn.00470660
lea eax, [ebp + 4]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.004186d0
add esp, 0xc
cmp eax, ebx
jne 0x460927
mov eax, dword [esi]
push ebx
push ebx
push edi
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0xaf
jmp 0x45e4b7
lea eax, [esi + 0x30]
cmp byte [eax + 7], 0xff
jne 0x4609e3
mov eax, dword [eax]
push 0
push str.script_pause
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp case.0x45d874.0
lea eax, [esi + 0x30]
push eax
call fcn.004126e0
jmp 0x45e976
lea ecx, [ebp + 4]
call fcn.004703d0
push 0x4dc4e4
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xb4
call fcn.00470680
push 1
lea eax, [ebp + 4]
push eax
lea eax, [ebp - 0x98]
push eax
push dword [ebp + 0xc]
mov byte [ebp - 4], 0xb5
call fcn.004375cc
add esp, 0x10
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xb4
call fcn.00470660
lea eax, [ebp + 4]
push eax
lea eax, [ebp - 0x2f8]
push str._break_msg_
push eax
call fcn.00470fb0
push 0x4e42c4
push eax
lea eax, [ebp - 0x2e8]
push eax
mov byte [ebp - 4], 0xb6
call fcn.00470f60
add esp, 0x18
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xb7
jne 0x460a87
mov eax, dword [eax]
push 0
push str.release_mode_atomic_function_break
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0xb6
call fcn.00470660
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0x2f8]
jmp 0x45e1d4
cmp byte [esi + 0x3f], 0xff
lea ecx, [esi + 0x38]
jne 0x460ac1
mov ecx, dword [esi + 0x38]
lea eax, [esi + 0x30]
cmp byte [eax + 7], 0xff
jne 0x460acc
mov eax, dword [eax]
push 0
push ecx
jmp 0x4609ea
lea eax, [esi + 0x30]
push eax
mov ecx, esi
call fcn.004626cd
jmp case.0x45d874.0
push str.extralog
lea ecx, [ebp - 0x84]
call fcn.00470680
lea eax, [ebp - 0x84]
push eax
lea eax, [esi + 0x30]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xb8
call fcn.0046275b
lea ecx, [ebp - 0x84]
jmp 0x45db79
push str.everylog
lea ecx, [ebp - 0x64]
call fcn.00470680
lea eax, [ebp - 0x64]
push eax
lea eax, [esi + 0x30]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xb9
call fcn.0046275b
lea ecx, [ebp - 0x64]
jmp 0x45db79
lea edi, [esi + 0x30]
push edi
lea eax, [ebp - 0x338]
push str.atomic_shellexec_
push eax
call fcn.00470fb0
push 0x4d2c9c
push eax
lea eax, [ebp - 0x328]
push eax
mov byte [ebp - 4], 0xba
call fcn.00470f60
lea ebx, [esi + 0x38]
push ebx
push eax
lea eax, [ebp - 0x318]
push eax
mov byte [ebp - 4], 0xbb
call fcn.00470f10
push 0x4d16f4
push eax
lea eax, [ebp - 0x308]
push eax
mov byte [ebp - 4], 0xbc
call fcn.00470f60
push eax
mov byte [ebp - 4], 0xbd
call fcn.004126e0
add esp, 0x34
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 0xbc
call fcn.00470660
lea ecx, [ebp - 0x318]
mov byte [ebp - 4], 0xbb
call fcn.00470660
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 0xba
call fcn.00470660
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x10
call fcn.00470660
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
push ebx
call fcn.004705c0
push ecx
push ecx
mov ecx, esp
mov dword [ebp], esp
push edi
mov byte [ebp - 4], 0xbe
call fcn.004705c0
mov byte [ebp - 4], 0x10
call fcn.0040f260
add esp, 0x10
test eax, eax
mov eax, 0x4d0018
jne 0x460c14
mov eax, 0x4d0014
push eax
lea ecx, [ebp + 0x1c]
call fcn.004707b0
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp - 0x348]
push str.atomic_shellexec___result_
push eax
call fcn.00470fb0
push eax
mov byte [ebp - 4], 0xbf
call fcn.004126e0
add esp, 0x10
lea ecx, [ebp - 0x348]
jmp 0x45db79
call fcn.0040df39
lea ecx, [ebp + 0x1c]
test eax, eax
je 0x460c60
push 0x4d0018
jmp 0x45d9fc
push 0x4d0014
jmp 0x45d9fc
lea eax, [ebp - 0x358]
push eax
call fcn.00412540
pop ecx
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0xc0
call fcn.00470710
lea ecx, [ebp - 0x358]
jmp 0x45db79
lea ecx, [ebp - 0x48]
call fcn.004703d0
mov eax, 0x104
push eax
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xc1
call fcn.004710f0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x48]
test eax, eax
jne 0x460cd9
mov byte [ebp - 4], 0x10
call fcn.00470660
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 1
call fcn.00470660
mov esi, 0x80004005
jmp 0x45cf18
push 0xffffffffffffffff
call fcn.00471180
push 0x4d0018
lea ecx, [ebp + 0x1c]
call fcn.004707b0
push 3
lea eax, [ebp - 0x368]
push eax
lea ecx, [ebp - 0x48]
call fcn.00470e50
push dword [ebx]
mov byte [ebp - 4], 0xc2
push eax
call fcn.0040eea7
pop ecx
pop ecx
test eax, eax
lea ecx, [ebp - 0x368]
sets byte [ebp - 0x15]
mov byte [ebp - 4], 0xc1
call fcn.00470660
cmp byte [ebp - 0x15], 0
je 0x460d3c
push 0x4d0014
lea ecx, [ebp + 0x1c]
call fcn.004707b0
lea ecx, [ebp - 0x48]
jmp 0x45db79
push str._progfiles_
lea ecx, [ebp - 0x48]
call fcn.004707b0
push 0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x378]
push eax
call fcn.004113a0
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xc3
call fcn.00470710
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0xc1
call fcn.00470660
push 3
lea eax, [ebp - 0x388]
push eax
lea ecx, [ebp - 0x48]
call fcn.00470e50
push dword [ebx]
mov byte [ebp - 4], 0xc4
push eax
call fcn.0040eea7
pop ecx
pop ecx
test eax, eax
lea ecx, [ebp - 0x388]
sets bl
mov byte [ebp - 4], 0xc1
call fcn.00470660
test bl, bl
je 0x460d34
jmp 0x460d27
lea eax, [ebp + 0x1c]
push eax
call fcn.00415090
jmp 0x45e976
cmp byte [esi + 0x3f], 0xff
lea ecx, [esi + 0x38]
jne 0x460dd0
mov ecx, dword [esi + 0x38]
lea eax, [esi + 0x30]
cmp byte [eax + 7], 0xff
jne 0x460ddb
mov eax, dword [eax]
push ecx
push eax
call fcn.00410f97
pop ecx
pop ecx
jmp 0x460c4f
xor ebx, ebx
push ebx
lea edi, [esi + 0x30]
lea eax, [ebp - 0x398]
push edi
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0xc5
call fcn.00470710
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x10
call fcn.00470660
push edi
lea eax, [ebp - 0x3b8]
push str.CREATEDIR:
push eax
call fcn.00470fb0
push 0x4cfa38
push eax
lea eax, [ebp - 0x3a8]
push eax
mov byte [ebp - 4], 0xc6
call fcn.00470f60
add esp, 0x18
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xc7
jne 0x460e51
mov eax, dword [eax]
mov edx, dword [esi]
push ebx
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 4], 0xc6
call fcn.00470660
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x10
call fcn.00470660
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [edi + 7], 0xff
jne 0x460e89
mov edi, dword [edi]
push ebx
push edi
call fcn.0040e4bb
pop ecx
pop ecx
push eax
mov ecx, esi
call fcn.0045c7cf
jmp case.0x45d874.0
xor ebx, ebx
push ebx
lea edi, [esi + 0x30]
lea eax, [ebp - 0x3c8]
push edi
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0xc8
call fcn.00470710
lea ecx, [ebp - 0x3c8]
mov byte [ebp - 4], 0x10
call fcn.00470660
push edi
lea eax, [ebp - 0x3e8]
push str.REMOVEDIR:
push eax
call fcn.00470fb0
push 0x4cfa38
push eax
lea eax, [ebp - 0x3d8]
push eax
mov byte [ebp - 4], 0xc9
call fcn.00470f60
add esp, 0x18
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xca
jne 0x460f07
mov eax, dword [eax]
mov edx, dword [esi]
push ebx
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0xc9
call fcn.00470660
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x10
call fcn.00470660
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [edi + 7], 0xff
jne 0x460f3f
mov edi, dword [edi]
push edi
call fcn.0040e57a
jmp 0x460e91
push 0
lea ebx, [esi + 0x30]
lea eax, [ebp - 0x3f8]
push ebx
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, ebx
mov byte [ebp - 4], 0xcb
call fcn.00470710
lea ecx, [ebp - 0x3f8]
mov byte [ebp - 4], 0x10
call fcn.00470660
push 0
lea edi, [esi + 0x38]
lea eax, [ebp - 0x408]
push edi
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0xcc
call fcn.00470710
lea ecx, [ebp - 0x408]
mov byte [ebp - 4], 0x10
call fcn.00470660
push ebx
lea eax, [ebp - 0x448]
push str.COPY:
push eax
call fcn.00470fb0
push 0x4d4660
push eax
lea eax, [ebp - 0x438]
push eax
mov byte [ebp - 4], 0xcd
call fcn.00470f60
push edi
push eax
lea eax, [ebp - 0x428]
push eax
mov byte [ebp - 4], 0xce
call fcn.00470f10
push 0x4cfa38
push eax
lea eax, [ebp - 0x418]
push eax
mov byte [ebp - 4], 0xcf
call fcn.00470f60
add esp, 0x30
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xd0
jne 0x461009
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 0xcf
call fcn.00470660
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 0xce
call fcn.00470660
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xcd
call fcn.00470660
lea ecx, [ebp - 0x448]
mov byte [ebp - 4], 0x10
call fcn.00470660
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [edi + 7], 0xff
jne 0x461061
mov edi, dword [edi]
cmp byte [ebx + 7], 0xff
jne 0x461069
mov ebx, dword [ebx]
push 0
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
jmp 0x460e92
push 0
lea ebx, [esi + 0x30]
lea eax, [ebp - 0x458]
push ebx
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, ebx
mov byte [ebp - 4], 0xd1
call fcn.00470710
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 0x10
call fcn.00470660
push 0
lea edi, [esi + 0x38]
lea eax, [ebp - 0x468]
push edi
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0xd2
call fcn.00470710
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], 0x10
call fcn.00470660
push ebx
lea eax, [ebp - 0x4a8]
push str.MOVE:
push eax
call fcn.00470fb0
push 0x4d4660
push eax
lea eax, [ebp - 0x498]
push eax
mov byte [ebp - 4], 0xd3
call fcn.00470f60
push edi
push eax
lea eax, [ebp - 0x488]
push eax
mov byte [ebp - 4], 0xd4
call fcn.00470f10
push 0x4cfa38
push eax
lea eax, [ebp - 0x478]
push eax
mov byte [ebp - 4], 0xd5
call fcn.00470f60
add esp, 0x30
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xd6
jne 0x461137
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x478]
mov byte [ebp - 4], 0xd5
call fcn.00470660
lea ecx, [ebp - 0x488]
mov byte [ebp - 4], 0xd4
call fcn.00470660
lea ecx, [ebp - 0x498]
mov byte [ebp - 4], 0xd3
call fcn.00470660
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 4], 0x10
call fcn.00470660
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [edi + 7], 0xff
jne 0x46118f
mov edi, dword [edi]
cmp byte [ebx + 7], 0xff
jne 0x461197
mov ebx, dword [ebx]
push 8
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
jmp 0x460e92
xor ebx, ebx
push ebx
lea edi, [esi + 0x30]
lea eax, [ebp - 0x4b8]
push edi
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0xd7
call fcn.00470710
lea ecx, [ebp - 0x4b8]
mov byte [ebp - 4], 0x10
call fcn.00470660
push edi
lea eax, [ebp - 0x4d8]
push str.DELONREBOOT:
push eax
call fcn.00470fb0
push 0x4cfa38
push eax
lea eax, [ebp - 0x4c8]
push eax
mov byte [ebp - 4], 0xd8
call fcn.00470f60
add esp, 0x18
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xd9
jne 0x46120e
mov eax, dword [eax]
mov edx, dword [esi]
push ebx
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 0xd8
call fcn.00470660
lea ecx, [ebp - 0x4d8]
mov byte [ebp - 4], 0x10
call fcn.00470660
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [edi + 7], 0xff
jne 0x461246
mov edi, dword [edi]
push 4
push ebx
push edi
jmp 0x46119b
xor ebx, ebx
push ebx
lea edi, [esi + 0x30]
lea eax, [ebp - 0x4e8]
push edi
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0xda
call fcn.00470710
lea ecx, [ebp - 0x4e8]
mov byte [ebp - 4], 0x10
call fcn.00470660
push edi
lea eax, [ebp - 0x508]
push str.DELETE:
push eax
call fcn.00470fb0
push 0x4cfa38
push eax
lea eax, [ebp - 0x4f8]
push eax
mov byte [ebp - 4], 0xdb
call fcn.00470f60
add esp, 0x18
cmp byte [eax + 7], 0xff
mov byte [ebp - 4], 0xdc
jne 0x4612b7
mov eax, dword [eax]
mov edx, dword [esi]
push ebx
push 4
push eax
mov ecx, esi
call dword [edx + 8]
lea ecx, [ebp - 0x4f8]
mov byte [ebp - 4], 0xdb
call fcn.00470660
lea ecx, [ebp - 0x508]
mov byte [ebp - 4], 0x10
call fcn.00470660
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [edi + 7], 0xff
jne 0x4612ef
mov edi, dword [edi]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x460e92
lea edi, [esi + 0x30]
push 0x5c
mov ecx, edi
call fcn.004704c0
cmp eax, 0xffffffff
jne 0x461325
push 0x3a
mov ecx, edi
call fcn.00470450
cmp eax, 0xffffffff
jne 0x461325
push edi
lea ecx, [ebp + 0x1c]
call fcn.00470710
jmp case.0x45d874.202
inc eax
push eax
lea eax, [ebp - 0x518]
push eax
mov ecx, edi
call fcn.004712e0
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0xdd
call fcn.00470710
lea ecx, [ebp - 0x518]
mov byte [ebp - 4], 0x10
call fcn.00470660
lea edi, [esi + 0x30]
push 0x5c
mov ecx, edi
call fcn.004704c0
cmp eax, 0xffffffff
jne 0x46136d
push edi
lea ecx, [ebp + 0x1c]
call fcn.00470710
jmp case.0x45d874.200
push eax
lea eax, [ebp - 0x528]
push eax
mov ecx, edi
call fcn.00470e50
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0xde
call fcn.00470710
lea ecx, [ebp - 0x528]
mov byte [ebp - 4], 0x10
call fcn.00470660
push 0
lea ebx, [esi + 0x30]
lea eax, [ebp - 0x538]
push ebx
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, ebx
mov byte [ebp - 4], 0xdf
call fcn.00470710
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x10
call fcn.00470660
push 0
lea edi, [esi + 0x38]
lea eax, [ebp - 0x548]
push edi
push eax
call fcn.004113a0
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0xe0
call fcn.00470710
lea ecx, [ebp - 0x548]
mov byte [ebp - 4], 0x10
call fcn.00470660
push 1
lea eax, [ebp - 0x558]
push eax
mov ecx, ebx
call fcn.00470df0
mov edi, 0x4cf9a0
push edi
push eax
mov byte [ebp - 4], 0xe1
call fcn.0040d5af
pop ecx
pop ecx
lea ecx, [ebp - 0x558]
mov byte [ebp - 0x15], al
mov byte [ebp - 4], 0x10
call fcn.00470660
cmp byte [ebp - 0x15], 0
je 0x46143a
push edi
mov ecx, ebx
call fcn.00470ae0
push ebx
lea ecx, [ebp + 0x1c]
call fcn.00470710
push 1
lea eax, [ebp - 0x568]
lea ebx, [esi + 0x38]
push eax
mov ecx, ebx
call fcn.00470e50
push edi
push eax
mov byte [ebp - 4], 0xe2
call fcn.0040d567
pop ecx
pop ecx
lea ecx, [ebp - 0x568]
mov byte [ebp - 0x15], al
mov byte [ebp - 4], 0x10
call fcn.00470660
cmp byte [ebp - 0x15], 0
je 0x4614a6
push 1
lea eax, [ebp - 0x578]
push eax
mov ecx, ebx
call fcn.004712e0
push eax
mov ecx, ebx
mov byte [ebp - 4], 0xe3
call fcn.00470710
lea ecx, [ebp - 0x578]
mov byte [ebp - 4], 0x10
call fcn.00470660
push ebx
lea ecx, [ebp + 0x1c]
call fcn.00470bc0
jmp case.0x45d874.0
mov ecx, dword [ebp + 0xc]
add ecx, 0xc
call fcn.004635e5
jmp 0x45d9f8
lea eax, [esi + 0x30]
cmp byte [eax + 7], 0xff
jne 0x4614cf
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
push 0
push eax
call fcn.00463774
jmp case.0x45d874.0
mov eax, dword [esi + 0x124]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
lea edx, [esi + 0x30]
push edx
push ecx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.0043b2d6
mov eax, dword [esi + 0x124]
mov ecx, dword [ebp + 0x18]
add esp, 0x10
cmp ecx, dword [eax + 4]
jne 0x46150f
or eax, 0xffffffff
jmp 0x45d969
sub ecx, dword [eax]
sar ecx, 3
jmp 0x45f49e
mov ecx, dword [esi + 0x120]
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
jmp 0x45eaa3
mov eax, dword [esi + 0x124]
mov ecx, dword [ebx]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
jmp 0x45e3e9
mov eax, dword [esi + 0x68]
mov dword [ebp + 0x10], eax
mov eax, dword [esi + 0x6c]
mov dword [ebp + 0x14], eax
cmp dword [ebp - 0x78], 1
jne 0x461579
push dword [ebp + 0x14]
lea eax, [ebp + 0x10]
push dword [ebp + 0x10]
mov ecx, esi
push eax
call fcn.0045c4ff
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0xe4
call fcn.00470710
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x10
call fcn.00470660
jmp 0x4615b7
cmp dword [ebp - 0x78], 4
jne 0x4615b1
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
push eax
push ecx
lea eax, [ebp + 0x10]
push eax
mov ecx, esi
call fcn.0045c4ff
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0xe5
call fcn.00470710
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x10
call fcn.00470660
cmp dword [ebp - 0x78], 0
je 0x4615c3
lea eax, [ebp + 0x1c]
push eax
lea ecx, [esi + 8]
call fcn.0043d1d8
cmp dword [ebp - 0x20], 0
je 0x4616bf
mov edi, dword [ebp - 0x68]
cmp edi, 0xffffffff
jne 0x4616a8
lea ecx, [ebp - 0x6c]
call fcn.004703d0
push 0x28
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xe6
call fcn.00470450
cmp eax, edi
lea eax, [ebp - 0x40]
push eax
jne 0x461648
lea eax, [ebp + 0x4c]
push str.label_
push eax
call fcn.00470fb0
push 0x4d16f4
push eax
lea eax, [ebp - 0x588]
push eax
mov byte [ebp - 4], 0xe7
call fcn.00470f60
add esp, 0x18
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xe8
call fcn.00470710
lea ecx, [ebp - 0x588]
mov byte [ebp - 4], 0xe7
call fcn.00470660
lea ecx, [ebp + 0x4c]
mov byte [ebp - 4], 0xe6
call fcn.00470660
jmp 0x461650
lea ecx, [ebp - 0x6c]
call fcn.00470710
cmp byte [ebp - 0x65], 0xff
lea eax, [ebp - 0x6c]
jne 0x46165c
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x54]
push eax
mov ecx, ebx
call fcn.004704f0
mov edi, eax
cmp edi, 0xffffffff
jne 0x461699
push dword [ebp + 0xc]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x78], esp
lea ecx, [ebp - 0x40]
push ecx
push str.missing_label:
push eax
call fcn.00470fb0
mov eax, dword [esi]
add esp, 0xc
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x6c]
jmp 0x45d54c
lea ecx, [ebp - 0x6c]
dec edi
mov byte [ebp - 4], 0x10
call fcn.00470660
jmp 0x4616ab
mov ebx, dword [ebp - 0x54]
cmp byte [ebx + 7], 0xff
mov eax, ebx
jne 0x4616b5
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x88]
add eax, edi
mov dword [ecx], eax
cmp dword [0x4ff63c], 0
je 0x461708
push ecx
lea ebx, [esi + 8]
mov edi, dword [ebx + 4]
sub edi, dword [ebx]
push ecx
lea eax, [ebp - 0x90]
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
sar edi, 3
call fcn.004705c0
push ebx
push ecx
push ecx
mov ecx, esp
mov dword [ebp], esp
push 0x4dc41c
mov byte [ebp - 4], 0xe9
call fcn.00470680
push edi
mov ecx, esi
mov byte [ebp - 4], 0x10
call fcn.0045c3aa
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 1
call fcn.00470660
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0
call fcn.00470660
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.00470660
xor eax, eax
jmp 0x461781
push dword [ebp + 0xc]
push ecx
push ecx
mov eax, esp
mov dword [ebp + 0x18], esp
push dword [ebp - 0x2c]
push str.unimplemented_function:
push eax
call fcn.00470fb0
mov eax, dword [esi]
add esp, 0xc
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 1
call fcn.00470660
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0
call fcn.00470660
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.00470660
mov eax, 0x8000aaa0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x58]
xor ecx, ebp
call fcn.00492093
add ebp, 0x5c
leave
ret 0x1c