Function at 0x4d0e10
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x24
mov ecx, dword [esp + 0x2c]
push ebx
mov ebx, dword [esp + 0x2c]
push ebp
push esi
push edi
lea ebx, [ebx + ebx*4]
mov byte [esp + 0x38], 0
shl ebx, 2
mov dword [esp + 0x30], ebx
mov edi, dword [ebx + ecx + 0xc]
mov esi, dword [ebx + ecx + 8]
lea eax, [ebx + ecx + 0xc]
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], eax
mov eax, dword [0xe945c4]
test eax, eax
mov dword [esp + 0x20], edi
je 0x4d0e6e
cmp dword [ebx + ecx + 4], 0xe92e50
je 0x4d0e6e
cmp esi, dword [ebx + 0xe92e58]
jne 0x4d0e69
cmp edi, dword [ebx + 0xe92e5c]
je 0x4d0e6e
mov byte [esp + 0x38], 1
mov edx, dword [ebx + ecx + 0x10]
lea eax, [ebx + ecx + 0x10]
xor ebp, ebp
mov dword [esp + 0x14], eax
test edx, edx
mov dword [esp + 0x18], ebp
je 0x4d0eb4
mov eax, dword [edx + 8]
lea esi, [edx + 8]
test eax, eax
je 0x4d0ea5
cmp eax, dword [0xe945c0]
jge 0x4d0ea1
mov eax, dword [esi + 0x10]
add esi, 0x10
inc ebp
test eax, eax
jne 0x4d0e8e
mov dword [esp + 0x18], ebp
shl ebp, 4
mov eax, dword [edx + ebp + 8]
test eax, eax
jne 0x4d0ec0
mov esi, dword [esp + 0x10]
mov al, byte [esp + 0x38]
test al, al
je 0x4d12be
mov ebp, dword [ebx + 0xe92e5c]
mov esi, dword [ebx + 0xe92e58]
imul edi, dword [esp + 0x10]
mov dword [esp + 0x1c], ebp
imul ebp, esi
mov eax, dword [ebx + 0xe92e50]
cmp edi, ebp
mov dword [esp + 0x28], eax
jge 0x4d1132
push ebp
call fcn.00561a1d
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x38], edi
jne 0x4d0f07
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x24
ret
mov ecx, ebp
xor eax, eax
mov edx, ecx
push ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4d0f33
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.0055bcf0
jmp 0x4d0f42
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
push edx
push eax
call fcn.005660ed
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp dword [ecx], 0
je 0x4d0fcd
cmp dword [esp + 0x10], esi
jge 0x4d0fcd
mov eax, dword [esp + 0x1c]
xor ecx, ecx
test eax, eax
jle 0x4d0f92
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x38]
shl edi, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x14]
push 1
push ebp
mov eax, dword [edx]
call dword [edi + eax + 0xc]
mov eax, dword [esp + 0x2c]
add esp, 8
add ebp, esi
dec eax
mov dword [esp + 0x24], eax
jne 0x4d0f71
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x20]
cmp ecx, ebp
jge 0x4d0fcd
mov edi, ecx
mov eax, dword [esp + 0x18]
imul edi, esi
mov edx, dword [esp + 0x38]
shl eax, 4
add edi, edx
mov dword [esp + 0x40], eax
sub ebp, ecx
jmp 0x4d0fb8
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
push 0
push edi
mov edx, dword [ecx]
call dword [eax + edx + 0xc]
add esp, 8
add edi, esi
dec ebp
jne 0x4d0fb4
mov eax, dword [esp + 0x20]
dec eax
test eax, eax
jl 0x4d105f
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov ebp, eax
lea edx, [ebx + ecx + 4]
mov ebx, eax
imul ebx, esi
imul ebp, edi
mov ecx, esi
mov dword [esp + 0x40], edx
neg ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x38]
neg edi
add ebx, ecx
inc eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x40]
mov eax, ebp
push esi
push ebx
add eax, dword [ecx]
push eax
call fcn.00562880
mov ecx, dword [esp + 0x1c]
add esp, 0xc
cmp ecx, esi
jle 0x4d1048
mov edx, dword [esp + 0x40]
mov edi, ebp
sub ecx, esi
xor eax, eax
add edi, dword [edx]
mov edx, ecx
shr ecx, 2
add edi, esi
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
add ebx, edx
add ebp, edi
dec eax
mov dword [esp + 0x24], eax
jne 0x4d100d
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x4d10e5
cmp dword [esp + 0x10], esi
jl 0x4d10e5
mov eax, dword [esp + 0x1c]
xor ecx, ecx
test eax, eax
jle 0x4d10ac
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x38]
shl edi, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
push 1
push ebp
mov edx, dword [ecx]
call dword [edi + edx + 0xc]
mov eax, dword [esp + 0x2c]
add esp, 8
add ebp, esi
dec eax
mov dword [esp + 0x24], eax
jne 0x4d108b
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x20]
cmp ecx, ebp
jge 0x4d10e5
mov edi, ecx
mov eax, dword [esp + 0x18]
imul edi, esi
mov edx, dword [esp + 0x38]
shl eax, 4
add edi, edx
mov dword [esp + 0x40], eax
sub ebp, ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
push 0
push edi
mov ecx, dword [eax]
call dword [edx + ecx + 0xc]
add esp, 8
add edi, esi
dec ebp
jne 0x4d10cc
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
jne 0x4d1120
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
cmp ecx, edi
jle 0x4d1120
mov edx, dword [esp + 0x10]
sub ecx, edi
imul ecx, edx
imul edi, edx
mov edx, dword [esp + 0x3c]
xor eax, eax
mov ebp, dword [ebx + edx + 4]
mov edx, ecx
add edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x38]
push eax
call fcn.00561a2b
add esp, 4
jmp 0x4d12ef
mov edi, dword [ebx + ecx + 4]
lea ebx, [ebx + ecx + 4]
mov ecx, ebp
xor eax, eax
mov edx, ecx
push ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4d1164
mov eax, dword [ebx]
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.0055bcf0
jmp 0x4d1171
mov edx, dword [ebx]
mov eax, dword [esp + 0x44]
push edx
push eax
call fcn.005660ed
mov edx, dword [esp + 0x28]
add esp, 0xc
lea eax, [edx - 1]
test eax, eax
jl 0x4d1208
mov ecx, dword [esp + 0x10]
mov edi, eax
sub ecx, esi
mov ebp, eax
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x10]
imul edi, esi
imul ebp, ecx
neg ecx
mov dword [esp + 0x2c], ecx
mov ecx, esi
neg ecx
inc eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [ebx]
push esi
lea ecx, [edi + eax]
lea edx, [eax + ebp]
push ecx
push edx
call fcn.00562880
mov ecx, dword [esp + 0x44]
add esp, 0xc
test ecx, ecx
jle 0x4d11e9
mov edx, dword [ebx]
mov edi, ebp
add edi, edx
mov edx, ecx
xor eax, eax
add edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
add edi, edx
add ebp, ecx
dec eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], eax
jne 0x4d11b2
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x4d1290
xor ebp, ebp
test edx, edx
jle 0x4d124d
mov edi, dword [esp + 0x18]
mov dword [esp + 0x40], edx
shl edi, 4
xor esi, esi
mov ebp, edx
mov ecx, dword [esp + 0x14]
mov eax, esi
push 1
mov edx, dword [ecx]
mov ecx, dword [ebx]
add eax, ecx
push eax
call dword [edi + edx + 0xc]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x48]
add esp, 8
add esi, ecx
dec eax
mov dword [esp + 0x40], eax
jne 0x4d1226
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jge 0x4d12ef
mov edi, dword [esp + 0x18]
mov esi, ebp
shl edi, 4
imul esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push 0
mov eax, dword [edx]
mov edx, dword [ebx]
add ecx, edx
push ecx
call dword [edi + eax + 0xc]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
add esp, 8
inc ebp
mov eax, dword [edx]
add esi, ecx
cmp ebp, eax
jl 0x4d1267
jmp 0x4d12ef
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, edx
jle 0x4d12ef
mov esi, dword [esp + 0x10]
sub ecx, edx
imul ecx, esi
mov edi, edx
mov ebp, dword [ebx]
imul edi, esi
mov edx, ecx
xor eax, eax
add edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp 0x4d12ef
cmp dword [ebx + ecx], 0
je 0x4d12d9
imul edi, esi
mov eax, dword [ebx + ecx + 4]
mov ecx, dword [esp + 0x40]
push edi
push eax
push ecx
call fcn.0055bcf0
jmp 0x4d12ec
imul edi, esi
mov edx, dword [ebx + ecx + 4]
mov eax, dword [esp + 0x40]
push edi
push edx
push eax
call fcn.005660ed
add esp, 0xc
cmp dword [0xe945c0], 0x73
jge 0x4d132c
push 0x18
push 5
call fcn.004cc110
push 0x19
push 5
call fcn.004cc160
mov ecx, dword [0xe20768]
mov edx, dword [0xe20764]
push 0
push ecx
push edx
call fcn.00538cd0
add esp, 0x1c
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x24
ret