Function at 0x10002018
Capabilities:
Read file on windows

Disassembly:
push ebp
sub esp, 0x120
lea ebp, [esp - 4]
mov eax, dword [0x1001e390]
xor eax, ebp
mov dword [ebp + 0x120], eax
push 0x3c
mov eax, 0x10016872
call fcn.10008caf
mov edi, dword [ebp + 0x12c]
xor ebx, ebx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
push ebx
lea ecx, [ebp]
mov dword [ebp + 0x18], 0xf
call fcn.100010fd
push 0x103
lea eax, [ebp + 0x1d]
push ebx
push eax
mov byte [ebp - 4], 2
mov byte [ebp + 0x1c], bl
call fcn.10008500
lea eax, [ebp + 0x1c]
push 0x10021c88
push eax
call fcn.100096a0
mov eax, dword [ebp + 0x134]
add esp, 0x14
cmp dword [ebp + 0x148], 0x10
jae 0x100020a2
lea eax, [ebp + 0x134]
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.100096b0
lea eax, [ebp + 0x1c]
push 0x10017234
push eax
call fcn.10009685
mov esi, eax
add esp, 0x10
cmp esi, ebx
jne 0x100020f6
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.10001cd5
push ebx
push 1
lea ecx, [ebp]
call fcn.100011d7
lea ecx, [ebp - 0x2c]
call fcn.10001c5e
push ebx
push 1
lea ecx, [ebp + 0x130]
call fcn.100011d7
mov eax, edi
jmp 0x100022b9
push 2
push ebx
push esi
call fcn.1000953c
push esi
call fcn.10009447
push ebx
push ebx
push esi
call fcn.1000953c
push esi
xor edi, edi
inc edi
push edi
lea eax, [ebp - 0x1c]
push 4
push eax
call fcn.10009294
mov eax, dword [str.SEBFp]
add esp, 0x2c
cmp byte [ebp - 0x1c], al
jne 0x10002284
cmp byte [ebp - 0x1b], ah
jne 0x10002284
mov al, byte [ebp - 0x1a]
cmp al, byte [0x1001e042]
jne 0x10002284
mov al, byte [ebp - 0x19]
cmp al, byte [0x1001e043]
jne 0x10002284
push esi
push edi
lea eax, [ebp - 0x14]
push 4
push eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
call fcn.10009294
push esi
push edi
lea eax, [ebp - 0x10]
push 4
push eax
call fcn.10009294
mov eax, dword [ebp - 0x14]
inc eax
push eax
call fcn.10008420
push esi
push 1
push dword [ebp - 0x14]
mov edi, eax
push edi
call fcn.10009294
push esi
call fcn.10008f7c
mov eax, dword [ebp - 0x14]
add esp, 0x38
mov byte [edi + eax], bl
xor esi, esi
mov al, byte [esi + edi]
cmp al, bl
je 0x100021bf
mov ecx, esi
and ecx, 0x80000003
jns 0x100021b4
dec ecx
or ecx, 0xfffffffc
inc ecx
mov cl, byte [ecx + str.SEBFp]
xor cl, al
mov byte [esi + edi], cl
inc esi
cmp esi, 2
jl 0x1000219e
mov eax, dword [ebp - 0x10]
inc eax
push eax
call fcn.10008420
mov esi, eax
mov eax, dword [ebp - 0x10]
inc eax
push eax
push ebx
push esi
call fcn.10008500
push dword [ebp - 0x14]
lea eax, [ebp - 0x10]
push edi
push eax
push esi
call fcn.10005cd0
add esp, 0x20
cmp eax, ebx
jne 0x100021fb
push esi
lea ecx, [ebp]
call fcn.100017d8
push edi
call fcn.10008db9
push esi
call fcn.10008db9
cmp dword [ebp + 0x18], 0x10
mov eax, dword [ebp + 4]
pop ecx
pop ecx
jae 0x10002215
lea eax, [ebp + 4]
mov esi, 0x10017230
push esi
push eax
jmp 0x10002253
push edi
call fcn.10008dc0
test eax, eax
pop ecx
jbe 0x10002251
push edi
lea ecx, [ebp - 0x48]
call fcn.100018e1
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.10001fc3
push ebx
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 2
call fcn.100011d7
push esi
push ebx
call fcn.10008e4b
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
jne 0x1000221e
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x2c]
push eax
call fcn.10001cd5
push ebx
push 1
lea ecx, [ebp]
call fcn.100011d7
lea ecx, [ebp - 0x2c]
call fcn.10001c5e
push ebx
push 1
jmp 0x100022ab
push esi
call fcn.10008f7c
pop ecx
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x2c]
push eax
call fcn.10001cd5
push ebx
push edi
lea ecx, [ebp]
call fcn.100011d7
lea ecx, [ebp - 0x2c]
call fcn.10001c5e
push ebx
push edi
lea ecx, [ebp + 0x130]
call fcn.100011d7
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x120]
xor ecx, ebp
call fcn.10008ca0
add ebp, 0x124
leave
ret