Function at 0x4361f0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, ecx
cmp byte [ebx + 0x1764], 0
jne 0x43654a
cmp dword [ebp + 8], 0
push edi
push 0x498ee0
jne 0x436219
push str.CodeDSv_01.sv
jmp 0x43621e
push str.CodeDSv_02.sv
call fcn.0045af79
mov edi, eax
add esp, 8
test edi, edi
je 0x436549
cmp dword [0x4b60f8], 0xa
mov ecx, 0x15f
push esi
push edi
mov eax, 0x15e
cmove eax, ecx
push 1
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push 4
push eax
call fcn.0045b60b
add esp, 0x10
lea ecx, [ebx + 0x204]
call fcn.004049b0
push edi
push 1
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push 4
push eax
call fcn.0045b60b
mov eax, dword [0x4b6104]
push edi
push 1
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push 4
push eax
call fcn.0045b60b
mov eax, dword [ebx + 0x10]
push edi
push 1
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push 4
push eax
call fcn.0045b60b
mov eax, dword [0x4b4bc0]
push edi
push 1
push 4
mov eax, dword [eax + 0x24c]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
call fcn.0045b60b
add esp, 0x40
lea ecx, [ebx + 0x204]
call fcn.004049c0
push edi
push 1
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push 4
push eax
call fcn.0045b60b
push edi
push 1
push 0x14
push 0x4b8b6c
call fcn.0045b60b
push edi
push 1
push 0x14
push 0x4b8b80
call fcn.0045b60b
mov ecx, dword [0x4b4bc0]
mov eax, 0x51eb851f
add esp, 0x30
mul dword [ecx + 0x220]
shr edx, 5
mov dword [ebp - 4], edx
mov eax, dword [ecx + 0x2a4]
test eax, eax
jle 0x436327
imul eax, eax, 0x3e8
add edx, eax
mov dword [ebp - 4], edx
cmp byte [ecx + 0x2b5], 0
je 0x43633f
imul eax, dword [ecx + 0x28c], 0x2710
add edx, eax
mov dword [ebp - 4], edx
push edi
push 1
lea eax, [ebp - 4]
push 4
push eax
call fcn.0045b60b
mov ecx, dword [0x4b4bc0]
add esp, 0x10
mov edx, dword [ecx + 0x228]
mov dword [ebp - 4], edx
cmp byte [ecx + 0x2b5], 0
je 0x436386
imul eax, dword [ecx + 0x290], 0x64
add eax, dword [ecx + 0x2c0]
imul eax, eax, 0x64
add eax, dword [ecx + 0x288]
imul eax, eax, 0x64
add edx, eax
mov dword [ebp - 4], edx
push edi
push 1
lea eax, [ebp - 4]
push 4
push eax
call fcn.0045b60b
mov esi, dword [0x4b4bc0]
add esp, 0x10
mov ebx, dword [esi + 0x224]
mov dword [ebp - 4], ebx
cmp byte [esi + 0x2b5], 0
je 0x4363e1
mov eax, 0x10624dd3
imul dword [esi + 0x284]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x2c4]
lea eax, [eax + ecx*2]
imul eax, eax, 0x3e8
add eax, dword [esi + 0x280]
add ebx, eax
mov dword [ebp - 4], ebx
push edi
push 1
lea eax, [ebp - 4]
push 4
push eax
call fcn.0045b60b
mov eax, 0x51eb851f
imul dword [0x4b8634]
push edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push 1
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push 4
push eax
call fcn.0045b60b
push edi
push 1
push 4
push 0x4b8630
call fcn.0045b60b
push edi
push 1
push 4
push 0x4b8638
call fcn.0045b60b
mov eax, dword [0x4b4bc4]
add esp, 0x40
mov esi, dword [0x4b4bc0]
mov edx, dword [eax + 0x62ba8]
add edx, dword [eax + 0x62ba0]
add edx, dword [eax + 0x62ba4]
mov dword [ebp - 4], edx
cmp byte [esi + 0x2b5], 0
je 0x43646e
imul eax, dword [esi + 0x2b8], 0x3e8
add edx, eax
mov dword [ebp - 4], edx
mov eax, dword [esi + 0x254]
test eax, eax
jle 0x43648f
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x258]
lea eax, [eax + ecx*2]
imul eax, eax, 0x186a0
add edx, eax
mov dword [ebp - 4], edx
push edi
push 1
lea eax, [ebp - 4]
push 4
push eax
call fcn.0045b60b
mov esi, dword [0x4b4bc0]
add esp, 0x10
mov eax, dword [esi + 0x250]
cdq
mov ecx, eax
mov eax, 0x51eb851f
xor ecx, edx
sub ecx, edx
imul ecx
mov eax, 0x270f
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x2710
cmovae ecx, eax
mov dword [ebp - 4], ecx
cmp dword [esi + 0x250], 0
jge 0x4364e7
add ecx, 0x2710
mov dword [ebp - 4], ecx
mov eax, dword [esi + 0x348]
pop esi
test eax, eax
jle 0x43650c
cmp eax, 0x26ac
jge 0x436503
imul eax, eax, 0x186a0
add ecx, eax
jmp 0x436509
add ecx, 0x3b023380
mov dword [ebp - 4], ecx
push edi
push 1
lea eax, [ebp - 4]
push 4
push eax
call fcn.0045b60b
cmp word [0x4b354c], 1
mov al, 0x59
movzx eax, al
mov ecx, 0x63
push edi
cmove eax, ecx
push 1
mov byte [ebp + 0xb], al
lea eax, [ebp + 0xb]
push 1
push eax
call fcn.0045b60b
push edi
call fcn.0045ac26
add esp, 0x24
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 4