Function at 0x402c8e
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, 0x411a60
mov ebx, 0x40d2a0
mov edx, 0xb0
mov ecx, dword [ebx]
mov dword [eax], ecx
mov ecx, dword [ebx + edx - 4]
mov dword [eax + edx - 4], ecx
lea edi, [eax + 4]
and edi, 0xfffffffc
sub eax, edi
sub ebx, eax
add edx, eax
and edx, 0xfffffffc
mov eax, edx
shr eax, 2
mov esi, ebx
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov eax, 0x411b20
mov ebx, 0x40d360
mov edx, 0xb0
mov ecx, dword [ebx]
mov dword [eax], ecx
mov ecx, dword [ebx + edx - 4]
mov dword [eax + edx - 4], ecx
lea edi, [eax + 4]
and edi, 0xfffffffc
sub eax, edi
sub ebx, eax
add edx, eax
and edx, 0xfffffffc
mov eax, edx
shr eax, 2
mov esi, ebx
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x1d], 0x10
mov dword [ebp - 0x1c], 0
jmp 0x402d4c
mov eax, dword [ebp - 0x1c]
add eax, str.e__AQSWXZpq
movzx eax, byte [eax]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 0x14
mov eax, dword [ebp - 0x1c]
add eax, str.e__AQSWXZpq
movzx eax, byte [eax]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 0x13
add dword [ebp - 0x1c], 1
cmp dword [ebp - 0x1c], 0xc
jle 0x402d0e
movzx eax, byte [0x411024]
test al, al
je 0x402d76
movzx eax, byte [0x411024]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 1
movzx eax, byte [0x411025]
test al, al
je 0x402d9a
movzx eax, byte [0x411025]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 2
movzx eax, byte [0x411026]
test al, al
je 0x402dbe
movzx eax, byte [0x411026]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 3
movzx eax, byte [0x411027]
test al, al
je 0x402de2
movzx eax, byte [0x411027]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 4
movzx eax, byte [0x411028]
test al, al
je 0x402e06
movzx eax, byte [0x411028]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 5
movzx eax, byte [0x411029]
test al, al
je 0x402e2a
movzx eax, byte [0x411029]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 6
movzx eax, byte [0x41102a]
test al, al
je 0x402e4e
movzx eax, byte [0x41102a]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 8
movzx eax, byte [0x41102b]
test al, al
je 0x402e72
movzx eax, byte [0x41102b]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 9
movzx eax, byte [0x41102c]
test al, al
je 0x402e96
movzx eax, byte [0x41102c]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 0xa
movzx eax, byte [0x41102d]
test al, al
je 0x402eba
movzx eax, byte [0x41102d]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 0xb
movzx eax, byte [0x41102e]
test al, al
je 0x402ede
movzx eax, byte [0x41102e]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 0xc
movzx eax, byte [0x41102f]
test al, al
je 0x402f02
movzx eax, byte [0x41102f]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 0xd
movzx eax, byte [0x411030]
test al, al
je 0x402f26
movzx eax, byte [0x411030]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411a60], 0xe
movzx eax, byte [0x411024]
test al, al
je 0x402f4a
movzx eax, byte [0x411024]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 1
movzx eax, byte [0x411025]
test al, al
je 0x402f6e
movzx eax, byte [0x411025]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 2
movzx eax, byte [0x411026]
test al, al
je 0x402f92
movzx eax, byte [0x411026]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 3
movzx eax, byte [0x411027]
test al, al
je 0x402fb6
movzx eax, byte [0x411027]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 4
movzx eax, byte [0x411028]
test al, al
je 0x402fda
movzx eax, byte [0x411028]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 5
movzx eax, byte [0x411029]
test al, al
je 0x402ffe
movzx eax, byte [0x411029]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 6
movzx eax, byte [0x41102a]
test al, al
je 0x403022
movzx eax, byte [0x41102a]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 8
movzx eax, byte [0x41102b]
test al, al
je 0x403046
movzx eax, byte [0x41102b]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 9
movzx eax, byte [0x41102c]
test al, al
je 0x40306a
movzx eax, byte [0x41102c]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 0xa
movzx eax, byte [0x41102d]
test al, al
je 0x40308e
movzx eax, byte [0x41102d]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 0xb
movzx eax, byte [0x41102e]
test al, al
je 0x4030b2
movzx eax, byte [0x41102e]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 0xc
movzx eax, byte [0x41102f]
test al, al
je 0x4030d6
movzx eax, byte [0x41102f]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 0xd
movzx eax, byte [0x411030]
test al, al
je 0x4030fa
movzx eax, byte [0x411030]
movzx edx, al
movzx eax, byte [ebp - 0x1d]
sub edx, eax
mov eax, edx
mov byte [eax + 0x411b20], 0xe
mov dword [esp + 4], 0x40d41b
mov dword [esp], str.Doukutsu.exe
call sym._fopen
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x403121
mov eax, 0xffffffff
jmp 0x4031af
mov eax, 0x133a3
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._fseek
mov eax, dword [ebp - 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xb0
mov dword [esp], 0x411a60
call sym._fwrite
mov eax, 0x134a3
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._fseek
mov eax, dword [ebp - 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xb0
mov dword [esp], 0x411b20
call sym._fwrite
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._fclose
mov eax, 0
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret