Function at 0x435a30
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x450f0b
mov eax, dword fs:[0]
push eax
mov eax, 0x13fc
call fcn.004478f0
mov eax, dword [0x45d1ac]
xor eax, esp
mov dword [esp + 0x13f8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x45d1ac]
xor eax, esp
push eax
lea eax, [esp + 0x1410]
mov dword fs:[0], eax
mov esi, ecx
mov ebx, dword [0x460030]
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.0043c670
push esi
lea ecx, [esp + 0x13dc]
push str.CodeSSC_02d.M
push ecx
call fcn.0043b734
lea edx, [esp + 0x13e4]
push 0x45712c
push edx
call fcn.0043a978
mov edi, eax
add esp, 0x20
cmp edi, ebp
je case.0x435b02.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.0043ac2f
mov eax, dword [esp + 0x40]
sub eax, dword [0x46276c]
add esp, 0x10
add eax, 0xfffffdda
cmp eax, 0x19
ja case.0x435b02.552
movzx ecx, byte [eax + 0x435fac]
jmp dword [ecx*4 + 0x435fa0]
mov byte [ebx + 0x16c0], 0
push edi
push 1
lea edx, [ebx + 0x158c]
push 4
push edx
call fcn.0043ac2f
push edi
push 1
push 4
push 0x462ab0
call fcn.0043ac2f
add esp, 0x20
cmp dword [0x462ab0], ebp
jne 0x435b55
push ebp
call fcn.0043c01d
add esp, 4
mov dword [0x462ab0], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add dword [0x462ab0], eax
push edi
push 1
lea eax, [esp + 0x48]
push 4
push eax
call fcn.0043ac2f
push edi
push 1
lea ecx, [ebx + 0x10]
push 4
push ecx
call fcn.0043ac2f
push edi
push 1
lea edx, [ebx + 0x1598]
push 4
push edx
call fcn.0043ac2f
push edi
push 1
push 0x14
push 0x460a9c
call fcn.0043ac2f
mov eax, dword [0x460aa0]
add esp, 0x40
push edi
push 1
push 0x14
push 0x4600d4
mov dword [0x462754], eax
call fcn.0043ac2f
mov ecx, dword [0x46278c]
push ecx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
call fcn.0043bf9b
push edi
push 1
lea edx, [esp + 0x3c]
push 4
push edx
call fcn.0043ac2f
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 [0x46000c]
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 0x435c91
cmp byte [ecx + 0x3d4], 1
lea eax, [ecx + 0x3d4]
mov dword [esp + 0x28], eax
je 0x435c91
mov eax, dword [0x46002c]
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 [0x46000c]
mov byte [eax], dl
jmp 0x435c96
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.0043ac2f
mov eax, dword [esp + 0x34]
add esp, 0x10
cmp eax, ebp
jle 0x435ccb
mov ecx, dword [0x46000c]
add dword [ecx + 0x38c], eax
mov dword [esp + 0x24], ebp
push edi
push esi
lea edx, [esp + 0x40]
push 4
push edx
call fcn.0043ac2f
mov ecx, dword [0x46278c]
mov edx, dword [ecx + 8]
mov eax, dword [0x46000c]
add esp, 0x10
cmp edx, dword [eax + 0x34c]
jne 0x435d00
mov ecx, dword [ecx + 4]
sub ecx, dword [eax + 0x348]
cmp ecx, 0xf
jbe 0x435d06
mov dword [eax + 0x344], ebp
push edi
push esi
lea edx, [esp + 0x24]
push 4
push edx
call fcn.0043ac2f
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 [0x462acc], ecx
jge 0x435d47
mov dword [0x462acc], ebp
push edi
push esi
push 4
push 0x462ac0
call fcn.0043ac2f
mov ecx, 0x7d0
add esp, 0x10
cmp dword [0x462ac0], ecx
jl 0x435d9c
cmp dword [0x45e904], ecx
je 0x435d96
mov eax, dword [0x46002c]
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 [0x45e904], ecx
push edi
push esi
push 4
push 0x462ac8
call fcn.0043ac2f
add esp, 0x10
cmp dword [0x462ac8], ebp
jle 0x435dbb
mov dword [0x462ac8], ebp
push edi
push esi
lea ecx, [esp + 0x24]
push 4
push ecx
call fcn.0043ac2f
mov ecx, dword [esp + 0x2c]
add esp, 0x10
cmp ecx, ebp
jle 0x435e16
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 0x435e16
mov edx, dword [0x46000c]
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.0043ac2f
mov esi, dword [esp + 0x2c]
add esp, 0x10
cmp esi, ebp
jle 0x435ed1
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.00414f80
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.0043ac2f
push edi
call fcn.0043aea7
add esp, 0x14
lea ecx, [esp + 0x44]
mov dword [esp + 0x2c], ebp
call fcn.0043a0f0
lea edx, [esp + 0x2c]
mov dword [esp + 0x1418], ebp
mov eax, dword [esp + 0x40]
push edx
push eax
push 1
call fcn.004359e0
push eax
lea ecx, [esp + 0x50]
call fcn.00439c60
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x2c]
push ecx
push edx
push 2
mov esi, eax
call fcn.004359e0
push eax
lea ecx, [esp + 0x50]
call fcn.00439c60
imul esi, esi, 0x2710
add esi, eax
mov dword [esp + 0x1418], 0xffffffff
cmp byte [esp + 0x1b], 0x59
mov dword [0x45e8d0], esi
mov byte [ebx + 0x159c], 0
lea ecx, [esp + 0x44]
je 0x435f94
call fcn.0043a250
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.0043a6a2
add esp, 0x1408
ret
call fcn.0043a250
mov al, 1
jmp 0x435f6c