Function at 0x51d2e0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cb5d6
mov eax, dword fs:[0]
push eax
sub esp, 0x2dc
mov eax, dword [0x70c0f0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 0x34]
call fcn.00453b80
xorps xmm0, xmm0
movlpd qword [ebp - 0x64], xmm0
lea ecx, [ebp - 0xa4]
call fcn.00446580
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0x20]
movzx ecx, byte [eax + 0x28]
test ecx, ecx
je 0x51d344
mov dword [ebp - 0xd8], 1
jmp 0x51d352
mov ecx, dword [ebp + 0x14]
call fcn.00448210
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x4c], 0
jmp 0x51d36d
mov eax, dword [ebp - 0x4c]
add eax, 1
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x68]
jae 0x51d45b
lea ecx, [ebp - 0x2b0]
call fcn.004495b0
mov byte [ebp - 4], 1
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b0], xmm0
mov edx, dword [ebp + 0x20]
movzx eax, byte [edx + 0x28]
test eax, eax
jne 0x51d416
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.004481f0
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x130]
call fcn.00447710
push eax
lea ecx, [ebp - 0x2b0]
call fcn.00559370
movzx edx, al
test edx, edx
jne 0x51d3e9
mov dword [ebp - 0x134], 0x6076e0
push 0x6fc030
lea eax, [ebp - 0x134]
push eax
call fcn.004e44cb
lea ecx, [ebp - 0x2b0]
call fcn.00448f90
movzx ecx, al
test ecx, ecx
je 0x51d416
mov dword [ebp - 0x138], 0x607730
push 0x6fc030
lea edx, [ebp - 0x138]
push edx
call fcn.004e44cb
mov eax, dword [ebp - 0x2ac]
push eax
mov ecx, dword [ebp - 0x2b0]
push ecx
lea ecx, [ebp - 0xa4]
call fcn.00448390
mov edx, dword [ebp - 0x64]
add edx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x60]
adc eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2b0]
call fcn.004495e0
jmp 0x51d364
mov ecx, dword [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x50]
call fcn.00453e20
mov byte [ebp - 4], 2
mov dword [ebp - 0x4c], 0
jmp 0x51d47d
mov edx, dword [ebp - 0x4c]
add edx, 1
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x68]
jae 0x51d496
lea ecx, [ebp - 0x50]
call fcn.00447710
mov ecx, dword [ebp - 0x4c]
mov byte [eax + ecx], 0
jmp 0x51d474
push 0x1d0
call fcn.00495c22
add esp, 4
mov dword [ebp - 0x13c], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x13c]
call fcn.00510550
mov dword [ebp - 0xdc], eax
jmp 0x51d4ca
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x140], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
push ecx
lea ecx, [ebp - 0x58]
call fcn.0044a7f0
mov byte [ebp - 4], 4
mov edx, dword [ebp + 0x20]
movzx eax, byte [edx + 0x4a]
push eax
mov ecx, dword [ebp + 0x20]
movzx edx, byte [ecx + 0x49]
push edx
mov eax, dword [ebp + 0x20]
movzx ecx, byte [eax + 0x48]
push ecx
mov ecx, dword [ebp - 0x44]
call fcn.00453a10
cmp dword [ebp - 0x68], 1
jbe 0x51d525
mov dword [ebp - 0xe0], 1
jmp 0x51d52f
mov dword [ebp - 0xe0], 0
mov dl, byte [ebp - 0xe0]
mov byte [ebp - 0x45], dl
mov eax, dword [ebp + 0x20]
cmp dword [eax + 0xc], 0
jl 0x51d54a
mov ecx, dword [ebp + 0x20]
cmp dword [ecx + 0xc], 2
jle 0x51d57a
mov dword [ebp - 0x144], 0
push 0
mov edx, dword [ebp - 0x144]
push edx
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp + 0x20]
mov eax, dword [edx + 4]
push eax
movzx ecx, byte [ebp - 0x45]
push ecx
mov ecx, dword [ebp - 0x44]
call fcn.004538b0
jmp 0x51d59e
push 0
mov edx, dword [ebp + 0x20]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 4]
push ecx
movzx edx, byte [ebp - 0x45]
push edx
mov ecx, dword [ebp - 0x44]
call fcn.004538b0
mov eax, dword [ebp + 0x2c]
push eax
mov ecx, dword [ebp - 0x44]
call fcn.00453960
movzx ecx, byte [ebp - 0x45]
test ecx, ecx
je 0x51d618
mov edx, dword [ebp - 0x60]
push edx
mov eax, dword [ebp - 0x64]
push eax
mov ecx, dword [ebp + 0x28]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x28]
push eax
mov ecx, dword [edx + 0xc]
call ecx
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
je 0x51d618
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x148], edx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0044a550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00447680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.00447680
mov eax, dword [ebp - 0x148]
jmp 0x51e43c
xorps xmm0, xmm0
movlpd qword [ebp - 0x98], xmm0
mov byte [ebp - 0x51], 0
lea ecx, [ebp - 0x78]
call fcn.00553c20
mov byte [ebp - 4], 5
mov dword [ebp - 0x4c], 0
jmp 0x51d645
mov eax, dword [ebp - 0x4c]
add eax, 1
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x68]
jae 0x51e25d
lea ecx, [ebp - 0x50]
call fcn.00447710
mov edx, dword [ebp - 0x4c]
movzx eax, byte [eax + edx]
test eax, eax
je 0x51d666
jmp 0x51d63c
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.004481f0
mov dword [ebp - 0x6c], eax
lea ecx, [ebp - 0x18c]
call fcn.004495b0
mov byte [ebp - 4], 6
mov edx, dword [ebp + 0x20]
movzx eax, byte [edx + 0x28]
test eax, eax
je 0x51d6a6
xorps xmm0, xmm0
movlpd qword [ebp - 0x18c], xmm0
mov dword [ebp - 0x16c], 0
jmp 0x51d6ee
mov ecx, dword [ebp - 0x6c]
call fcn.00447710
push eax
lea ecx, [ebp - 0x18c]
call fcn.00559370
movzx ecx, al
test ecx, ecx
je 0x51d6d3
lea ecx, [ebp - 0x18c]
call fcn.00448f90
movzx edx, al
test edx, edx
je 0x51d6ee
mov dword [ebp - 0x14c], 0x607714
push 0x6fc030
lea eax, [ebp - 0x14c]
push eax
call fcn.004e44cb
mov ecx, dword [ebp + 0x20]
movzx edx, byte [ecx + 0x2b]
push edx
mov ecx, dword [ebp - 0x6c]
call fcn.00447710
push eax
mov eax, dword [ebp + 0x28]
mov edx, dword [eax]
mov ecx, dword [ebp + 0x28]
mov eax, dword [edx + 0x28]
call eax
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x51d777
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x150], ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18c]
call fcn.004495e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.00447680
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0044a550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00447680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.00447680
mov eax, dword [ebp - 0x150]
jmp 0x51e43c
lea ecx, [ebp - 0x208]
call fcn.004536a0
mov byte [ebp - 4], 7
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0xb0]
call fcn.00453d40
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x260]
call fcn.00453550
mov byte [ebp - 4], 9
mov eax, dword [ebp + 0x20]
add eax, 0x4c
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x260], ecx
lea edx, [ebp - 0xb0]
mov dword [ebp - 0x238], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp + 0x20]
mov dl, byte [ecx + 0x28]
mov byte [ebp - 0x21c], dl
mov dword [ebp - 0x230], 0
mov eax, dword [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x218]
call fcn.00553b70
mov ecx, dword [ebp + 0x24]
push ecx
lea edx, [ebp - 0x260]
push edx
lea ecx, [ebp - 0x208]
call fcn.004537b0
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0x80004004
jne 0x51d8a3
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x154], eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x260]
call fcn.00453c10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb0]
call fcn.00453cc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x208]
call fcn.00453740
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18c]
call fcn.004495e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.00447680
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0044a550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00447680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.00447680
mov eax, dword [ebp - 0x154]
jmp 0x51e43c
mov ecx, dword [ebp - 0x7c]
push ecx
mov ecx, dword [ebp - 0x6c]
call fcn.00447710
push eax
lea edx, [ebp - 0x208]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 0x28]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0x28]
mov eax, dword [edx + 0x2c]
call eax
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0
je 0x51d964
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x100], ecx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x260]
call fcn.00453c10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb0]
call fcn.00453cc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x208]
call fcn.00453740
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18c]
call fcn.004495e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.00447680
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0044a550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00447680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.00447680
mov eax, dword [ebp - 0x100]
jmp 0x51e43c
cmp dword [ebp - 0x7c], 0
je 0x51da2d
mov byte [ebp - 0x51], 1
mov edx, dword [ebp + 0x20]
movzx eax, byte [edx + 0x28]
test eax, eax
jne 0x51d9ec
lea ecx, [ebp - 0x2e8]
call fcn.004495b0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x6c]
call fcn.00447710
push eax
lea ecx, [ebp - 0x2e8]
call fcn.00559370
movzx ecx, al
test ecx, ecx
je 0x51d9dd
lea ecx, [ebp - 0x2e8]
call fcn.00448f90
movzx edx, al
test edx, edx
jne 0x51d9dd
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0x2e8]
mov ecx, dword [ebp - 0x94]
adc ecx, dword [ebp - 0x2e4]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], ecx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2e8]
call fcn.004495e0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x260]
call fcn.00453c10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb0]
call fcn.00453cc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x208]
call fcn.00453740
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18c]
call fcn.004495e0
jmp 0x51d63c
mov edx, dword [ebp + 0x20]
movzx eax, byte [edx + 0x28]
test eax, eax
jne 0x51dc2b
lea ecx, [ebp - 0x1fc]
call fcn.00448210
test eax, eax
je 0x51dc2b
lea ecx, [ebp - 0x78]
call fcn.004476b0
movzx ecx, al
test ecx, ecx
je 0x51dc2b
mov edx, dword [ebp - 0x1f0]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x80], 0
jmp 0x51da8c
mov ecx, dword [ebp - 0x80]
add ecx, 1
mov dword [ebp - 0x80], ecx
lea ecx, [ebp - 0x1fc]
call fcn.00448210
cmp dword [ebp - 0x80], eax
jae 0x51db18
mov edx, dword [ebp - 0x80]
push edx
lea ecx, [ebp - 0x1fc]
call fcn.004481f0
push eax
mov eax, dword [ebp + 0x18]
push eax
call fcn.0051e460
add esp, 8
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
jl 0x51db13
mov ecx, dword [ebp - 0x84]
cmp ecx, dword [ebp - 0x4c]
jbe 0x51db13
lea ecx, [ebp - 0x50]
call fcn.00447710
mov edx, dword [ebp - 0x84]
mov byte [eax + edx], 1
mov eax, dword [ebp - 0x84]
push eax
lea ecx, [ebp - 0xa4]
call fcn.0044a0e0
mov ecx, dword [ebp - 0x90]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x8c]
sbb edx, dword [eax + 4]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], edx
jmp 0x51da83
mov eax, dword [ebp - 0x90]
or eax, dword [ebp - 0x8c]
je 0x51dc2b
mov ecx, dword [ebp - 0x64]
add ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x60]
adc edx, dword [ebp - 0x8c]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0
jg 0x51db67
jl 0x51db5c
cmp dword [ebp - 0xb8], 0
jae 0x51db67
xorps xmm0, xmm0
movlpd qword [ebp - 0xb8], xmm0
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x60]
push edx
mov eax, dword [ebp - 0x64]
push eax
mov ecx, dword [ebp + 0x28]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x28]
push eax
mov ecx, dword [edx + 0xc]
call ecx
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
je 0x51dc2b
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x104], edx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x260]
call fcn.00453c10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb0]
call fcn.00453cc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x208]
call fcn.00453740
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18c]
call fcn.004495e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.00447680
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0044a550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00447680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.00447680
mov eax, dword [ebp - 0x104]
jmp 0x51e43c
lea ecx, [ebp - 0x208]
call fcn.00448500
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 0x20]
movzx ecx, byte [eax + 0x28]
test ecx, ecx
jne 0x51dc5e
movzx edx, byte [ebp - 0x167]
test edx, edx
jne 0x51dc5e
mov dword [ebp - 0xec], 1
jmp 0x51dc68
mov dword [ebp - 0xec], 0
mov eax, dword [ebp - 0x88]
mov cl, byte [ebp - 0xec]
mov byte [eax + 0xa4], cl
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x174]
mov dword [edx + 0x9c], eax
mov ecx, dword [ebp - 0x170]
mov dword [edx + 0xa0], ecx
cmp dword [ebp + 0x2c], 0
je 0x51dcaa
mov dword [ebp - 0xf0], 1
jmp 0x51dcb4
mov dword [ebp - 0xf0], 0
mov dl, byte [ebp - 0xf0]
mov byte [ebp - 0x59], dl
lea eax, [ebp - 0xc0]
push eax
mov ecx, dword [ebp + 0x30]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp + 0x28]
push eax
movzx ecx, byte [ebp - 0x59]
push ecx
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp - 0x18c]
add ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x188]
adc edx, dword [ebp - 0x1ec]
push edx
push ecx
lea eax, [ebp - 0x208]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0051e4f0
add esp, 0x2c
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0
je 0x51dda6
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x108], edx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x260]
call fcn.00453c10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb0]
call fcn.00453cc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x208]
call fcn.00453740
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18c]
call fcn.004495e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.00447680
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0044a550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00447680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.00447680
mov eax, dword [ebp - 0x108]
jmp 0x51e43c
cmp dword [ebp - 0x68], 1
jne 0x51de30
mov eax, dword [ebp + 0x34]
movzx ecx, byte [eax + 0x38]
test ecx, ecx
je 0x51de30
lea ecx, [ebp - 0x1a8]
call fcn.00448fd0
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x88]
call fcn.00447710
mov dword [ebp - 0xc4], eax
lea edx, [ebp - 0x1a8]
push edx
push 0x1c
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
test eax, eax
jne 0x51de21
movzx ecx, word [ebp - 0x1a8]
test ecx, ecx
je 0x51de21
push 0
push 0x1c
lea edx, [ebp - 0x1a8]
push edx
mov eax, dword [ebp + 0x34]
add eax, 0x3c
push eax
call fcn.0052dfd0
add esp, 0x10
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1a8]
call fcn.00449000
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0x88]
call fcn.00447710
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
call edx
test eax, eax
jne 0x51e0a3
cmp dword [ebp - 0xcc], 1
jne 0x51e0a3
lea eax, [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x44]
call fcn.00453a50
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x26c]
push ecx
mov ecx, dword [ebp - 0x44]
call fcn.00453a50
mov dword [ebp - 0x10c], eax
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x110], edx
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x110]
call fcn.00447710
push eax
lea ecx, [ebp - 0x40]
call fcn.00446660
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
push ecx
call fcn.004dce75
add esp, 8
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x40]
call fcn.00446610
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x26c]
call fcn.00447680
push 0x607740
lea edx, [ebp - 0x28]
push edx
call fcn.00453f30
add esp, 8
movzx eax, al
test eax, eax
je 0x51e088
lea ecx, [ebp - 0x278]
push ecx
mov ecx, dword [ebp - 0x44]
call fcn.00453a50
mov dword [ebp - 0x114], eax
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x118], edx
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x118]
push eax
lea ecx, [ebp - 0x78]
call fcn.00553b70
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x278]
call fcn.00447680
lea ecx, [ebp - 0x78]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [ebp + 0x14]
call fcn.004481f0
mov ecx, eax
call fcn.00553b70
mov eax, dword [ebp - 0x4c]
sub eax, 1
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp + 0x30]
call fcn.004476b0
movzx ecx, al
test ecx, ecx
jne 0x51e02c
mov dword [ebp - 0x11c], 0x80004005
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x28]
call fcn.00446610
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x198]
call fcn.00447680
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x260]
call fcn.00453c10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb0]
call fcn.00453cc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x208]
call fcn.00453740
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18c]
call fcn.004495e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.00447680
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0044a550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00447680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.00447680
mov eax, dword [ebp - 0x11c]
jmp 0x51e43c
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x28]
call fcn.00446610
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x198]
call fcn.00447680
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x260]
call fcn.00453c10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb0]
call fcn.00453cc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x208]
call fcn.00453740
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18c]
call fcn.004495e0
jmp 0x51d63c
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x28]
call fcn.00446610
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x198]
call fcn.00447680
lea edx, [ebp - 0x78]
push edx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00453410
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x51e0e7
lea ecx, [ebp - 0x208]
call fcn.0052d0e0
lea ecx, [ebp - 0x208]
call fcn.0052d0a0
lea ecx, [ebp - 0x78]
call fcn.00447710
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x78]
call fcn.00447720
mov edx, dword [ebp + 0x20]
movzx eax, byte [edx + 0x28]
test eax, eax
jne 0x51e116
mov ecx, dword [ebp - 0x18c]
add ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x188]
adc edx, dword [ebp - 0x1ec]
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x94]
adc ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x174]
mov ecx, dword [eax + 0x20]
add ecx, dword [ebp - 0xc0]
mov edx, dword [eax + 0x24]
adc edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x174]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 0x174]
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x190]
mov dword [edx + 0x28], ecx
mov eax, dword [eax + 0x194]
mov dword [edx + 0x2c], eax
mov ecx, dword [ebp + 0x30]
call fcn.004476b0
movzx ecx, al
test ecx, ecx
jne 0x51e21c
mov dword [ebp - 0x120], 0x80004005
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x260]
call fcn.00453c10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb0]
call fcn.00453cc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x208]
call fcn.00453740
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18c]
call fcn.004495e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.00447680
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0044a550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00447680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.00447680
mov eax, dword [ebp - 0x120]
jmp 0x51e43c
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x260]
call fcn.00453c10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb0]
call fcn.00453cc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x208]
call fcn.00453740
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18c]
call fcn.004495e0
jmp 0x51d63c
movzx edx, byte [ebp - 0x45]
test edx, edx
jne 0x51e271
movzx eax, byte [ebp - 0x51]
test eax, eax
je 0x51e354
mov ecx, dword [ebp - 0x60]
push ecx
mov edx, dword [ebp - 0x64]
push edx
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ecx + 0xc]
call eax
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x51e2e3
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x124], ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.00447680
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0044a550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00447680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.00447680
mov eax, dword [ebp - 0x124]
jmp 0x51e43c
lea edx, [ebp - 0x98]
push edx
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ecx + 0x10]
call eax
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
je 0x51e354
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x128], ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.00447680
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0044a550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00447680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.00447680
mov eax, dword [ebp - 0x128]
jmp 0x51e43c
mov edx, dword [ebp + 0x34]
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x178]
mov dword [edx + 0x20], ecx
mov eax, dword [eax + 0x17c]
mov dword [edx + 0x24], eax
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x180]
mov dword [ecx + 0x28], eax
mov edx, dword [edx + 0x184]
mov dword [ecx + 0x2c], edx
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 0x188]
mov dword [eax + 0x30], edx
mov ecx, dword [ecx + 0x18c]
mov dword [eax + 0x34], ecx
mov edx, dword [ebp + 0x34]
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x190]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0x194]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x198]
mov dword [ecx + 0x10], eax
mov edx, dword [edx + 0x19c]
mov dword [ecx + 0x14], edx
mov ecx, dword [ebp + 0x14]
call fcn.00448210
xor ecx, ecx
mov edx, dword [ebp + 0x34]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x174]
mov edx, dword [ebp + 0x34]
mov eax, dword [ecx + 0x20]
mov dword [edx + 0x18], eax
mov ecx, dword [ecx + 0x24]
mov dword [edx + 0x1c], ecx
mov dword [ebp - 0x12c], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78]
call fcn.00447680
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0044a550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00447680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.00447680
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00495c0c
mov esp, ebp
pop ebp
ret