Function at 0x476aa0
Capabilities:
Delete file

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55b3c3
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x190
mov eax, dword [0x5ca1c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebx + 0x14]
lea eax, [ebp - 0xd0]
push 0xb0
push 0
push eax
call fcn.00532960
push 0x59ceb4
lea ecx, [ebp - 0xd0]
call fcn.0048f3c0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0xc4], 6
jne 0x476b46
cmp dword [esi + 0x14], 0xf
mov eax, dword [esi + 0x10]
jbe 0x476b2c
mov esi, dword [esi]
push eax
mov edx, esi
lea ecx, [ebp - 0xd0]
call fcn.0043cde0
add esp, 4
push eax
call fcn.00492930
add esp, 4
lea ecx, [ebp - 0xcc]
call fcn.004170a0
test eax, eax
jne 0x476b7e
mov eax, dword [ebp - 0xd0]
lea ecx, [ebp - 0xd0]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.0040be10
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c], xmm0
push 0x28
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
call fcn.00524602
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x1c]
mov byte [ebp - 4], 1
mov ecx, str.last_countrybans.txt
call fcn.004b27a0
push 0x59ceb4
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, dword [ebp - 0x1c]
mov edi, dword [0x5de3b0]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x476cd6
lea eax, [esi + 0x10]
cmp edi, dword [0x5de3b4]
jb 0x476bf3
xor edi, edi
mov dword [0x5de3b0], edi
imul ecx, edi, 0x2ec
push eax
lea eax, [ebp - 0x19c]
push eax
add ecx, 0x5df498
call fcn.004976c0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x476c5a
mov eax, dword [ecx + 0x20]
add ecx, 0x10
mov dword [ebp - 0x184], eax
cmp dword [ecx + 0x14], 0xf
jbe 0x476c29
mov ecx, dword [ecx]
cmp dword [esi + 0x24], 0xf
mov edx, dword [esi + 0x20]
mov dword [ebp - 0x188], edx
lea edx, [esi + 0x10]
jbe 0x476c3e
mov edx, dword [esi + 0x10]
push dword [ebp - 0x184]
push ecx
push dword [ebp - 0x188]
push edx
call fcn.00497c90
add esp, 0x10
test eax, eax
je 0x476c8c
jns 0x476c8c
cmp edi, dword [0x5de3b4]
jb 0x476c6a
xor edi, edi
mov dword [0x5de3b0], edi
imul ecx, edi, 0x2ec
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x190]
push eax
add ecx, 0x5df498
call fcn.00493a40
mov edi, dword [0x5de3b0]
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x476cb4
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x476cb0
nop
cmp esi, dword [eax + 8]
jne 0x476cb0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x476ca0
mov esi, eax
jmp 0x476ccc
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x476ccc
nop
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x476cc0
cmp byte [esi + 0xd], 0
je 0x476be0
cmp edi, dword [0x5de3b4]
jb 0x476ce6
xor edi, edi
mov dword [0x5de3b0], edi
imul edi, edi, 0x2ec
lea eax, [ebp - 0x180]
push 0xb0
push 0
mov esi, 0x5de6c8
push eax
add edi, 0x5df498
cmp dword [0x5de6dc], 0xf
cmova esi, dword [0x5de6c8]
call fcn.00532960
add esp, 4
lea ecx, [ebp - 0x180]
push 2
push esi
call fcn.004ff400
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x180]
mov eax, dword [ecx + 4]
test byte [ebp + eax - 0x174], 6
jne 0x476dd3
mov esi, dword [edi]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x476dc2
nop
cmp dword [esi + 0x24], 0xf
lea edx, [esi + 0x10]
mov eax, dword [edx + 0x10]
jbe 0x476d5e
mov edx, dword [edx]
push 0xa
push ecx
push eax
lea ecx, [ebp - 0x180]
call fcn.0043cde0
add esp, 8
push eax
call fcn.00501b30
mov eax, dword [esi + 8]
add esp, 8
cmp byte [eax + 0xd], 0
je 0x476da4
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x476da0
nop dword [eax + eax]
cmp esi, dword [eax + 8]
jne 0x476da0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x476d90
mov esi, eax
jmp 0x476dbc
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x476dbc
nop
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x476db0
cmp byte [esi + 0xd], 0
je 0x476d50
lea ecx, [ebp - 0x180]
call fcn.00415dc0
mov ecx, dword [ebp - 0x180]
mov eax, dword [ecx + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x184], eax
lea ecx, [ebp - 0x17c]
call fcn.004156c0
mov eax, dword [ebp - 0x180]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x184], eax
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 3
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00522431
mov edx, 0x8ccbc0
mov dword [0x8ccbb8], 1
call fcn.004757f0
add esp, 4
cmp eax, 6
jne 0x476e63
mov byte [0x5de3ac], 1
mov eax, dword [ebp - 0x1c]
push dword [eax + 4]
lea eax, [ebp - 0x1c]
push eax
mov ecx, eax
call fcn.004979d0
push 0x28
push dword [ebp - 0x1c]
call fcn.00524a57
mov eax, dword [ebp - 0xd0]
add esp, 8
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xd4], eax
lea ecx, [ebp - 0xcc]
call fcn.004156c0
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xd4], eax
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 4
push eax
mov dword [ebp - 0x68], vtable.std::ios_base.0
call fcn.00522431
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0052450f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x14