Function at 0x435b70
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x45104b
mov eax, dword fs:[0]
push eax
mov eax, 0x13fc
call fcn.00447a30
mov eax, dword [0x45e1ac]
xor eax, esp
mov dword [esp + 0x13f8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x45e1ac]
xor eax, esp
push eax
lea eax, [esp + 0x1410]
mov dword fs:[0], eax
mov esi, ecx
mov ebx, dword [0x461030]
push 0x3f
xor ebp, ebp
lea eax, [esp + 0x13d1]
push ebp
push eax
mov dword [esp + 0x48], ebx
mov byte [esp + 0x13d8], 0
call fcn.0043c7b0
push esi
lea ecx, [esp + 0x13dc]
push str.CodeSSC_02d.M
push ecx
call fcn.0043b874
lea edx, [esp + 0x13e4]
push 0x45812c
push edx
call fcn.0043aab8
mov edi, eax
add esp, 0x20
cmp edi, ebp
je case.0x435c42.552
push edi
push 1
lea eax, [esp + 0x38]
push 4
push eax
mov dword [ebx + 0x188c], esi
mov dword [esp + 0x40], ebp
call fcn.0043ad6f
mov eax, dword [esp + 0x40]
sub eax, dword [0x46376c]
add esp, 0x10
add eax, 0xfffffdda
cmp eax, 0x19
ja case.0x435c42.552
movzx ecx, byte [eax + 0x4360ec]
jmp dword [ecx*4 + 0x4360e0]
mov byte [ebx + 0x16c0], 0
push edi
push 1
lea edx, [ebx + 0x158c]
push 4
push edx
call fcn.0043ad6f
push edi
push 1
push 4
push 0x463ab0
call fcn.0043ad6f
add esp, 0x20
cmp dword [0x463ab0], ebp
jne 0x435c95
push ebp
call fcn.0043c15d
add esp, 4
mov dword [0x463ab0], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add dword [0x463ab0], eax
push edi
push 1
lea eax, [esp + 0x48]
push 4
push eax
call fcn.0043ad6f
push edi
push 1
lea ecx, [ebx + 0x10]
push 4
push ecx
call fcn.0043ad6f
push edi
push 1
lea edx, [ebx + 0x1598]
push 4
push edx
call fcn.0043ad6f
push edi
push 1
push 0x14
push 0x461a9c
call fcn.0043ad6f
mov eax, dword [0x461aa0]
add esp, 0x40
push edi
push 1
push 0x14
push 0x4610d4
mov dword [0x463754], eax
call fcn.0043ad6f
mov ecx, dword [0x46378c]
push ecx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
call fcn.0043c0db
push edi
push 1
lea edx, [esp + 0x3c]
push 4
push edx
call fcn.0043ad6f
mov ecx, dword [esp + 0x44]
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
imul edx, edx, 0x2710
sub ecx, edx
mov eax, 0x51eb851f
mul ecx
mov ecx, dword [0x46100c]
shr edx, 5
mov dword [ecx + 0x34c], edx
mov esi, dword [esp + 0x44]
mov eax, 0xd1b71759
mul esi
shr edx, 0xd
imul edx, edx, 0x2710
mov eax, esi
sub eax, edx
xor edx, edx
mov esi, 0x64
div esi
mov eax, 0xd1b71759
add esp, 0x24
mov dword [ecx + 0x348], edx
mul dword [esp + 0x20]
shr edx, 0xd
imul edx, edx, 0x64
mov dword [ecx + 0x344], edx
cmp edx, 0x2710
jb 0x435dd1
cmp byte [ecx + 0x3d4], 1
lea eax, [ecx + 0x3d4]
mov dword [esp + 0x28], eax
je 0x435dd1
mov eax, dword [0x46102c]
mov esi, dword [eax + 0x5a8]
mov dword [esp + 0x34], eax
call fcn.00404d50
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x5b8]
mov eax, dword [esp + 0x28]
mov esi, 1
mov edx, esi
mov word [ecx + 0x408], dx
mov ecx, dword [0x46100c]
mov byte [eax], dl
jmp 0x435dd6
mov esi, 1
mov eax, dword [ecx + 0x34c]
push edi
push esi
mov dword [ecx + 0x340], eax
lea ecx, [esp + 0x2c]
push 4
push ecx
call fcn.0043ad6f
mov eax, dword [esp + 0x34]
add esp, 0x10
cmp eax, ebp
jle 0x435e0b
mov ecx, dword [0x46100c]
add dword [ecx + 0x38c], eax
mov dword [esp + 0x24], ebp
push edi
push esi
lea edx, [esp + 0x40]
push 4
push edx
call fcn.0043ad6f
mov ecx, dword [0x46378c]
mov edx, dword [ecx + 8]
mov eax, dword [0x46100c]
add esp, 0x10
cmp edx, dword [eax + 0x34c]
jne 0x435e40
mov ecx, dword [ecx + 4]
sub ecx, dword [eax + 0x348]
cmp ecx, 0xf
jbe 0x435e46
mov dword [eax + 0x344], ebp
push edi
push esi
lea edx, [esp + 0x24]
push 4
push edx
call fcn.0043ad6f
mov ecx, dword [esp + 0x2c]
mov eax, 0x6b5fca6b
imul ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x989680
sub ecx, eax
imul ecx, ecx, 0x64
add esp, 0x10
cmp ecx, ebp
mov dword [0x463acc], ecx
jge 0x435e87
mov dword [0x463acc], ebp
push edi
push esi
push 4
push 0x463ac0
call fcn.0043ad6f
mov ecx, 0x7d0
add esp, 0x10
cmp dword [0x463ac0], ecx
jl 0x435edc
cmp dword [0x45f904], ecx
je 0x435ed6
mov eax, dword [0x46102c]
mov byte [eax + 0x804], 1
mov byte [eax + 0x948], 1
mov dword [eax + 0x958], ebp
mov dword [eax + 0x808], 0x26
mov dword [eax + 0x344], esi
mov dword [0x45f904], ecx
push edi
push esi
push 4
push 0x463ac8
call fcn.0043ad6f
add esp, 0x10
cmp dword [0x463ac8], ebp
jle 0x435efb
mov dword [0x463ac8], ebp
push edi
push esi
lea ecx, [esp + 0x24]
push 4
push ecx
call fcn.0043ad6f
mov ecx, dword [esp + 0x2c]
add esp, 0x10
cmp ecx, ebp
jle 0x435f56
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3e8
lea edx, [eax - 1]
sub ecx, eax
cmp edx, 0x7a11e
ja 0x435f56
mov edx, dword [0x46100c]
mov dword [edx + 0x378], esi
mov dword [edx + 0x374], ecx
mov dword [edx + 0x36c], eax
mov dword [edx + 0x370], esi
push edi
push esi
lea eax, [esp + 0x24]
push 4
push eax
call fcn.0043ad6f
mov esi, dword [esp + 0x2c]
add esp, 0x10
cmp esi, ebp
jle 0x436011
mov eax, 0x66666667
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [ecx + ecx*4]
add edx, edx
sub esi, edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x64
sub ecx, edx
mov ebx, esi
mov esi, eax
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x64
mov ebp, eax
sub esi, edx
mov eax, 0x51eb851f
imul ebp
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x64
mov dword [esp + 0x28], esi
mov esi, eax
sub ebp, edx
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
mov dword [esp + 0x1c], esi
sub esi, eax
push ecx
mov ecx, dword [esp + 0x2c]
test ebx, ebx
push esi
setg al
mov edx, ebp
call fcn.00414fa0
mov ebx, dword [esp + 0x3c]
xor ebp, ebp
push edi
push 1
lea ecx, [esp + 0x23]
push 1
push ecx
mov byte [esp + 0x2b], 0
call fcn.0043ad6f
push edi
call fcn.0043afe7
add esp, 0x14
lea ecx, [esp + 0x44]
mov dword [esp + 0x2c], ebp
call fcn.0043a230
lea edx, [esp + 0x2c]
mov dword [esp + 0x1418], ebp
mov eax, dword [esp + 0x40]
push edx
push eax
push 1
call fcn.00435b20
push eax
lea ecx, [esp + 0x50]
call fcn.00439da0
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x2c]
push ecx
push edx
push 2
mov esi, eax
call fcn.00435b20
push eax
lea ecx, [esp + 0x50]
call fcn.00439da0
imul esi, esi, 0x2710
add esi, eax
mov dword [esp + 0x1418], 0xffffffff
cmp byte [esp + 0x1b], 0x59
mov dword [0x45f8d0], esi
mov byte [ebx + 0x159c], 0
lea ecx, [esp + 0x44]
je 0x4360d4
call fcn.0043a390
xor al, al
mov ecx, dword [esp + 0x1410]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x13f8]
xor ecx, esp
call fcn.0043a7e2
add esp, 0x1408
ret
call fcn.0043a390
mov al, 1
jmp 0x4360ac