Function at 0x479ea0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x5523d4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov ebx, ecx
push 0x1004
mov dword [ebp - 0x48], ebx
call fcn.0049574c
mov edi, eax
add esp, 4
test edi, edi
jne 0x479edd
lea eax, [edi + 4]
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493825
mov esp, ebp
pop ebp
ret
push esi
push 2
lea esi, [edi + 0x1000]
push 0xfffff000
push ebx
mov dword [ebp - 0x44], 0
mov word [esi + 1], 0
mov byte [esi + 3], 0
call fcn.004ee00b
add esp, 0xc
test eax, eax
jne 0x479fd6
push ebx
call fcn.004ef1aa
add esp, 4
add eax, 0x1000
mov dword [0x5cea14], eax
jmp 0x479f35
mov eax, dword [0x5cea14]
cmp eax, 0x1000
jb 0x479fe2
sub eax, 0x1000
mov dword [0x5cea14], eax
mov al, byte [esi + 1]
push ebx
mov byte [edi + 0x1000], al
mov cl, byte [esi + 2]
push 0x1000
mov byte [edi + 0x1001], cl
mov dl, byte [esi + 3]
push 1
push edi
mov byte [edi + 0x1002], dl
call fcn.004eea28
push 1
push 0xffffe000
push ebx
call fcn.004ee00b
lea esi, [edi + 0xfff]
add esp, 0x1c
cmp esi, edi
jb 0x479f30
lea ecx, [ecx]
movzx eax, byte [esi + 3]
movzx edx, byte [esi + 2]
shl ax, 8
movzx ecx, ax
movzx eax, byte [esi + 1]
or ecx, edx
shl ax, 8
movzx edx, ax
movzx eax, byte [esi]
shl ecx, 0x10
or ecx, edx
or ecx, eax
cmp ecx, 0x6054b50
je 0x479fc8
dec esi
cmp esi, edi
jae 0x479f90
jmp 0x479f30
mov eax, dword [0x5cea14]
sub esi, edi
add eax, esi
jmp 0x47a067
mov dword [0x5cea14], 0x1000
jmp 0x479fea
test eax, eax
je 0x47a082
push 0
push 0
push ebx
call fcn.004ee00b
push ebx
call fcn.004ef2b3
mov ecx, dword [0x5cea14]
push ebx
push ecx
push 1
push edi
call fcn.004eea28
movzx edx, byte [esi + 1]
mov byte [eax + edi], dl
mov cl, byte [esi + 2]
mov byte [eax + edi + 1], cl
movzx edx, byte [esi + 3]
mov byte [eax + edi + 2], dl
lea eax, [eax + edi - 1]
add esp, 0x20
cmp eax, edi
jb 0x47a082
jmp 0x47a030
movzx ecx, byte [eax + 3]
shl cx, 8
movzx edx, cx
movzx ecx, byte [eax + 2]
or edx, ecx
movzx ecx, byte [eax + 1]
shl cx, 8
movzx ecx, cx
shl edx, 0x10
or edx, ecx
movzx ecx, byte [eax]
or edx, ecx
cmp edx, 0x6054b50
je 0x47a065
dec eax
cmp eax, edi
jae 0x47a030
jmp 0x47a082
sub eax, edi
mov dword [0x5cea14], eax
push 0
add eax, 4
push eax
push ebx
mov dword [ebp - 0x44], 1
call fcn.004ee00b
add esp, 0xc
push edi
call fcn.00495660
add esp, 4
cmp dword [ebp - 0x44], 0
jne 0x47a119
cmp dword [0x5539ac], 0
je 0x47a103
push 0x53c84c
push 0x5497a4
push 0x548bb0
call fcn.0049719b
add eax, 0x40
push eax
call fcn.00497350
call fcn.0049719b
add eax, 0x40
push eax
call fcn.004a4fa3
add esp, 0x14
cmp dword [0x5539ac], 0
je 0x47a103
push 0x53c84c
push 0x5497dc
push 0x548bb0
call fcn.0049719b
add eax, 0x40
push eax
call fcn.00497350
call fcn.0049719b
add eax, 0x40
push eax
call fcn.004a4fa3
add esp, 0x14
pop esi
pop edi
mov eax, 3
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493825
mov esp, ebp
pop ebp
ret
push ebx
push 1
lea edx, [ebp - 0x30]
push 0x12
push edx
call fcn.004eea28
add esp, 0x10
cmp eax, 1
jne 0x47aabc
movzx eax, byte [ebp - 0x2f]
movzx ecx, byte [ebp - 0x30]
shl ax, 8
or ax, cx
jne 0x47a178
movzx edx, byte [ebp - 0x2d]
movzx eax, byte [ebp - 0x2e]
shl dx, 8
or dx, ax
jne 0x47a178
movzx ecx, byte [ebp - 0x29]
movzx edx, byte [ebp - 0x2a]
movzx eax, byte [ebp - 0x2b]
shl cx, 8
or cx, dx
movzx edx, byte [ebp - 0x2c]
shl ax, 8
or ax, dx
cmp ax, cx
je 0x47a1af
cmp dword [0x5539ac], 0
je 0x47a1af
push 0x53c84c
push 0x549814
push 0x548bb0
call fcn.0049719b
add eax, 0x40
push eax
call fcn.00497350
call fcn.0049719b
add eax, 0x40
push eax
call fcn.004a4fa3
add esp, 0x14
movzx eax, byte [ebp - 0x1f]
movzx ecx, byte [ebp - 0x20]
shl ax, 8
movzx esi, ax
or esi, ecx
mov dword [0x5cea18], esi
je 0x47a22a
push esi
call fcn.0049574c
add esp, 4
mov dword [0x59c214], eax
test eax, eax
je 0x47ab6d
push ebx
push 1
push esi
push eax
call fcn.004eea28
add esp, 0x10
cmp eax, 1
je 0x47a22a
mov edx, dword [0x59c214]
push edx
call fcn.00495660
push ebx
mov dword [0x59c214], 0
call fcn.004edea3
add esp, 8
neg eax
sbb eax, eax
pop esi
and eax, 9
pop edi
add eax, 2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493825
mov esp, ebp
pop ebp
ret
movzx eax, byte [ebp - 0x25]
movzx edx, byte [ebp - 0x26]
shl ax, 8
movzx ecx, ax
movzx eax, byte [ebp - 0x27]
shl ax, 8
or ecx, edx
movzx edx, ax
movzx eax, byte [ebp - 0x28]
shl ecx, 0x10
or ecx, edx
or ecx, eax
mov eax, dword [0x5cea14]
sub eax, ecx
cmp dword [0x59c1ec], 0
mov dword [0x5ce5ac], eax
je 0x47a296
movzx ecx, byte [ebp - 0x21]
movzx esi, byte [ebp - 0x24]
shl cx, 8
movzx edx, cx
movzx ecx, byte [ebp - 0x22]
or edx, ecx
movzx ecx, byte [ebp - 0x23]
shl cx, 8
movzx ecx, cx
or ecx, esi
shl edx, 0x10
or edx, ecx
mov ecx, eax
sub ecx, edx
mov dword [ebp - 0x4c], ecx
jmp 0x47a29d
mov dword [ebp - 0x4c], 0
push 0
push eax
push ebx
call fcn.004ee00b
add esp, 0xc
test eax, eax
je 0x47a2d0
push 0x549838
call fcn.004edcb5
add esp, 4
pop esi
pop edi
mov eax, 3
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493825
mov esp, ebp
pop ebp
ret
push ebx
push 1
lea edx, [ebp - 0x30]
push 4
push edx
mov dword [ebp - 0x44], 0x59c210
call fcn.004eea28
add esp, 0x10
cmp eax, 1
jne 0x47aabc
movzx eax, byte [ebp - 0x2d]
movzx edx, byte [ebp - 0x2e]
shl ax, 8
movzx ecx, ax
movzx eax, byte [ebp - 0x2f]
or ecx, edx
shl ax, 8
movzx edx, ax
movzx eax, byte [ebp - 0x30]
shl ecx, 0x10
or ecx, edx
or ecx, eax
cmp ecx, 0x2014b50
jne 0x47a589
push ebx
push 1
lea ecx, [ebp - 0x30]
push 0x2a
push ecx
call fcn.004eea28
add esp, 0x10
cmp eax, 1
jne 0x47aabc
push 0x60
call fcn.0049574c
mov esi, eax
add esp, 4
test esi, esi
je 0x47ab6d
movzx edx, byte [ebp - 0x2f]
movzx eax, byte [ebp - 0x30]
shl dx, 8
or dx, ax
lea eax, [esi + 2]
lea edi, [ebp - 0x2e]
mov word [esi], dx
sub edi, eax
mov ecx, 0x16
mov dl, byte [edi + eax]
mov byte [eax], dl
inc eax
dec ecx
jne 0x47a371
movzx eax, byte [ebp - 0x17]
movzx edx, byte [ebp - 0x18]
shl ax, 8
movzx ecx, ax
or ecx, edx
mov dword [esi + 0x18], ecx
movzx eax, byte [ebp - 0x15]
movzx edx, byte [ebp - 0x16]
shl ax, 8
movzx ecx, ax
or ecx, edx
mov dword [esi + 0x20], ecx
movzx eax, byte [ebp - 0x13]
movzx edx, byte [ebp - 0x14]
shl ax, 8
movzx ecx, ax
or ecx, edx
mov dword [esi + 0x24], ecx
movzx eax, byte [ebp - 0x11]
movzx ecx, byte [ebp - 0x12]
shl ax, 8
or ax, cx
mov word [esi + 0x28], ax
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp - 0x10]
shl dx, 8
or dx, ax
mov word [esi + 0x2a], dx
movzx ecx, byte [ebp - 0xb]
movzx eax, byte [ebp - 0xc]
shl cx, 8
movzx edx, cx
movzx ecx, byte [ebp - 0xd]
or edx, eax
shl cx, 8
shl edx, 0x10
movzx eax, cx
movzx ecx, byte [ebp - 0xe]
or edx, eax
or edx, ecx
mov dword [esi + 0x30], edx
movzx edx, byte [ebp - 7]
movzx ecx, byte [ebp - 8]
shl dx, 8
movzx eax, dx
movzx edx, byte [ebp - 9]
or eax, ecx
shl dx, 8
shl eax, 0x10
movzx ecx, dx
movzx edx, byte [ebp - 0xa]
or eax, ecx
or eax, edx
add eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x44]
mov dword [esi + 0x34], eax
mov eax, 0xff00
test word [esi], ax
mov ecx, 0
sete cl
lea eax, [esi + 0x5c]
mov dword [ebp - 0x44], eax
mov dword [esi + 0x58], ecx
xor ecx, ecx
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x48], ecx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x4c], ecx
mov dword [edx], esi
mov edi, dword [esi + 0x18]
mov dword [eax], ecx
cmp edi, ecx
je 0x47aa77
lea eax, [edi + 1]
push eax
call fcn.0049574c
add esp, 4
mov dword [ebp - 0x50], eax
mov dword [esi + 0x48], eax
test eax, eax
je 0x47ab6d
mov eax, dword [esi + 0x20]
test eax, eax
je 0x47a4a7
push eax
call fcn.0049574c
add esp, 4
mov dword [esi + 0x40], eax
test eax, eax
je 0x47ab6d
mov eax, dword [esi + 0x24]
test eax, eax
je 0x47a4c2
push eax
call fcn.0049574c
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x47ab6d
mov ecx, dword [ebp - 0x50]
push ebx
push 1
push edi
push ecx
call fcn.004eea28
add esp, 0x10
cmp eax, 1
jne 0x47aabc
mov eax, dword [esi + 0x20]
test eax, eax
je 0x47a4fb
mov edx, dword [esi + 0x40]
push ebx
push 1
push eax
push edx
call fcn.004eea28
add esp, 0x10
cmp eax, 1
jne 0x47aabc
mov eax, dword [esi + 0x24]
test eax, eax
je 0x47a51b
push ebx
push 1
push eax
mov eax, dword [esi + 0x44]
push eax
call fcn.004eea28
add esp, 0x10
cmp eax, 1
jne 0x47aabc
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x18]
mov byte [ecx + edx], 0
mov esi, dword [esi + 0x34]
cmp esi, dword [0x5cea14]
jae 0x47a536
mov dword [0x5cea14], esi
inc dword [0x5cea20]
push ebx
push 1
lea eax, [ebp - 0x30]
push 4
push eax
call fcn.004eea28
add esp, 0x10
cmp eax, 1
jne 0x47aabc
movzx ecx, byte [ebp - 0x2d]
movzx eax, byte [ebp - 0x2e]
shl cx, 8
movzx edx, cx
movzx ecx, byte [ebp - 0x2f]
or edx, eax
shl cx, 8
movzx eax, cx
movzx ecx, byte [ebp - 0x30]
shl edx, 0x10
or edx, eax
or edx, ecx
cmp edx, 0x2014b50
je 0x47a324
mov esi, dword [0x59c210]
test esi, esi
je 0x47aa22
mov eax, dword [esi + 0x34]
mov edi, dword [ebp - 0x48]
push 0
push eax
push edi
call fcn.004ee00b
add esp, 0xc
test eax, eax
jne 0x47aba6
push edi
push 1
lea ecx, [ebp - 0x30]
push 4
push ecx
call fcn.004eea28
add esp, 0x10
cmp eax, 1
jne 0x47aba6
movzx edx, byte [ebp - 0x2d]
movzx ecx, byte [ebp - 0x2e]
shl dx, 8
movzx eax, dx
movzx edx, byte [ebp - 0x2f]
or eax, ecx
shl dx, 8
movzx ecx, dx
movzx edx, byte [ebp - 0x30]
shl eax, 0x10
or eax, ecx
or eax, edx
cmp eax, 0x4034b50
jne 0x47ab83
push edi
push 1
lea eax, [ebp - 0x30]
push 0x1a
push eax
call fcn.004eea28
add esp, 0x10
cmp eax, 1
jne 0x47aba6
movzx ecx, byte [ebp - 0x2d]
movzx edx, byte [ebp - 0x2e]
mov edi, dword [esi + 0x18]
shl cx, 8
or cx, dx
mov word [esi + 0x2c], cx
movzx eax, byte [ebp - 0x19]
movzx edx, byte [ebp - 0x17]
movzx ecx, byte [ebp - 0x1a]
shl ax, 8
movzx eax, ax
shl dx, 8
or eax, ecx
movzx ecx, dx
movzx edx, byte [ebp - 0x18]
or ecx, edx
mov dword [esi + 0x1c], ecx
cmp eax, edi
jne 0x47aac2
push edi
call fcn.0049574c
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x47ab6d
mov eax, dword [ebp - 0x48]
push eax
push 1
push edi
push ebx
call fcn.004eea28
add esp, 0x10
cmp eax, 1
jne 0x47aae5
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x48]
mov edi, ebx
cmp eax, 4
jb 0x47a6ab
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x47aaf1
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x47a693
test eax, eax
je 0x47a6db
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x47aaf1
cmp eax, 1
jbe 0x47a6db
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x47aaf1
cmp eax, 2
jbe 0x47a6db
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x47aaf1
push ebx
call fcn.00495660
mov edi, dword [esi + 0x1c]
add esp, 4
test edi, edi
je 0x47a778
push edi
call fcn.0049574c
add esp, 4
mov dword [esi + 0x3c], eax
test eax, eax
je 0x47ab6d
mov ebx, dword [ebp - 0x48]
push ebx
push 1
push edi
push eax
call fcn.004eea28
add esp, 0x10
cmp eax, 1
jne 0x47ab1d
mov eax, dword [esi + 0x1c]
cmp eax, dword [esi + 0x20]
jne 0x47a778
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
mov edi, edx
cmp eax, 4
jb 0x47a745
mov ebx, dword [edi]
cmp ebx, dword [ecx]
jne 0x47a778
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x47a731
test eax, eax
je 0x47a769
mov bl, byte [ecx]
cmp bl, byte [edi]
jne 0x47a778
cmp eax, 1
jbe 0x47a769
mov bl, byte [ecx + 1]
cmp bl, byte [edi + 1]
jne 0x47a778
cmp eax, 2
jbe 0x47a769
mov cl, byte [ecx + 2]
cmp cl, byte [edi + 2]
jne 0x47a778
push edx
call fcn.00495660
mov edx, dword [esi + 0x40]
add esp, 4
mov dword [esi + 0x3c], edx
test byte [esi + 0x2c], 8
je 0x47a856
movzx eax, byte [ebp - 0x1f]
movzx edx, byte [ebp - 0x21]
movzx ecx, byte [ebp - 0x20]
shl ax, 8
movzx eax, ax
or eax, ecx
shl dx, 8
movzx ecx, dx
movzx edx, byte [ebp - 0x22]
shl eax, 0x10
or eax, ecx
or eax, edx
jne 0x47a7d2
movzx eax, byte [esi + 0x13]
movzx edx, byte [esi + 0x11]
movzx ecx, byte [esi + 0x12]
shl ax, 8
movzx eax, ax
or eax, ecx
shl dx, 8
movzx ecx, dx
movzx edx, byte [esi + 0x10]
shl eax, 0x10
or eax, ecx
or eax, edx
mov ecx, dword [esi + 0x1c]
add ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x34]
mov edi, dword [ebp - 0x48]
add ecx, eax
push 0
lea eax, [ecx + edx + 0x1e]
push eax
push edi
call fcn.004ee00b
add esp, 0xc
test eax, eax
jne 0x47aba6
push edi
push 1
lea ecx, [ebp - 0x40]
push 0x10
push ecx
call fcn.004eea28
add esp, 0x10
cmp eax, 1
jne 0x47aba6
movzx edx, byte [ebp - 0x3d]
movzx ecx, byte [ebp - 0x3e]
shl dx, 8
movzx eax, dx
movzx edx, byte [ebp - 0x3f]
or eax, ecx
shl dx, 8
movzx ecx, dx
movzx edx, byte [ebp - 0x40]
shl eax, 0x10
or eax, ecx
or eax, edx
cmp eax, 0x8074b50
jne 0x47ab4a
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x26], eax
mov dword [ebp - 0x22], ecx
mov dword [ebp - 0x1e], edx
mov al, byte [esi + 5]
movzx edx, byte [esi + 4]
movzx ecx, al
and al, 0x1f
mov byte [esi + 5], al
and byte [ebp - 0x2d], 0x1f
shl cx, 8
xor eax, eax
or cx, dx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x44], eax
movzx ecx, cx
lea eax, [esi + 2]
lea edx, [ebp - 0x30]
sub eax, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], eax
lea esp, [esp]
mov ebx, dword [ebp - 0x44]
mov al, byte [ebp + ebx - 0x30]
mov ecx, dword [ebp - 0x50]
lea ebx, [ebp + ebx - 0x30]
cmp al, byte [ecx + ebx]
je 0x47a8f7
cmp dword [ebp - 0x4c], 0
jne 0x47a8bd
mov eax, dword [esi + 0x4c]
mov ecx, 0x549898
call fcn.00475e30
mov dword [ebp - 0x4c], 1
cmp dword [0x5539ac], 0
je 0x47a8f7
mov edx, dword [ebp - 0x50]
movzx eax, byte [edx + ebx]
movzx ecx, byte [ebx]
mov edx, dword [ebp - 0x44]
push eax
push ecx
push edx
push 0x5498c0
push 0x5ce5c0
call fcn.00494428
add esp, 0x14
mov eax, 0x53c84c
mov ecx, 0x5ce5c0
call fcn.00475e30
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp eax, 0x16
jb 0x47a890
cmp dword [ebp - 0x4c], 0
je 0x47a916
cmp dword [0x59c1ec], 0
je 0x47ab90
movzx eax, byte [esi + 0x17]
movzx edx, byte [esi + 0x16]
shl ax, 8
movzx ecx, ax
movzx eax, byte [esi + 0x15]
or ecx, edx
shl ecx, 0x10
shl ax, 8
movzx edx, ax
movzx eax, byte [esi + 0x14]
or ecx, edx
or ecx, eax
mov dword [esi + 0x14], ecx
movzx ecx, byte [esi + 0x13]
movzx eax, byte [esi + 0x12]
shl cx, 8
movzx edx, cx
movzx ecx, byte [esi + 0x11]
or edx, eax
shl cx, 8
movzx eax, cx
movzx ecx, byte [esi + 0x10]
shl edx, 0x10
or edx, eax
or edx, ecx
mov dword [esi + 0x10], edx
movzx edx, byte [esi + 0xf]
movzx ecx, byte [esi + 0xe]
shl dx, 8
movzx eax, dx
movzx edx, byte [esi + 0xd]
or eax, ecx
shl dx, 8
movzx ecx, dx
movzx edx, byte [esi + 0xc]
shl eax, 0x10
or eax, ecx
or eax, edx
mov dword [esi + 0xc], eax
movzx eax, byte [esi + 0xb]
movzx edx, byte [esi + 0xa]
shl ax, 8
movzx ecx, ax
movzx eax, byte [esi + 9]
or ecx, edx
mov edi, dword [esi + 0x48]
shl ecx, 0x10
shl ax, 8
movzx edx, ax
movzx eax, byte [esi + 8]
or ecx, edx
or ecx, eax
movzx eax, word [ebp - 0x54]
mov dword [esi + 8], ecx
movzx ecx, byte [esi + 7]
movzx edx, byte [esi + 6]
shl cx, 8
or cx, dx
mov word [esi + 6], cx
mov word [esi + 4], ax
movzx ecx, byte [esi + 3]
movzx edx, byte [esi + 2]
shl cx, 8
or cx, dx
xor ebx, ebx
mov word [esi + 2], cx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x54], ebx
call fcn.0047e130
mov dword [esi + 0x4c], eax
cmp eax, ebx
je 0x47ab6d
mov dword [esi + 0x38], eax
cmp dword [0x59c1e4], ebx
je 0x47aa17
call fcn.00479340
mov esi, dword [esi + 0x5c]
cmp esi, ebx
jne 0x47a597
mov ecx, dword [0x5cea14]
test ecx, ecx
je 0x47aa64
cmp dword [0x5539ac], 0
je 0x47aa64
cmp dword [0x59c1ec], 0
mov eax, 0x549908
jne 0x47aa48
mov eax, 0x549920
mov edx, dword [0x5ce5b4]
push ecx
push eax
mov eax, dword [0x5ce5a4]
push edx
push 0x549928
push eax
call fcn.00497350
add esp, 0x14
pop esi
pop edi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493825
mov esp, ebp
pop ebp
ret
mov edx, dword [0x5cea20]
inc edx
push edx
push 0x54963c
push 0x5ce5c0
call fcn.00494428
mov eax, 0x5ce5c0
mov ecx, 0x549640
call fcn.00475e30
push esi
call fcn.00495660
add esp, 0x10
pop esi
pop edi
mov eax, 3
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493825
mov esp, ebp
pop ebp
ret
push ebx
jmp 0x47aba7
mov eax, dword [esi + 0x48]
mov ecx, 0x549840
call fcn.00475e30
pop esi
pop edi
mov eax, 3
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493825
mov esp, ebp
pop ebp
ret
push ebx
call fcn.00495660
mov eax, dword [ebp - 0x48]
push eax
jmp 0x47ab27
push ebx
call fcn.00495660
mov eax, dword [esi + 0x48]
add esp, 4
mov ecx, 0x549870
call fcn.00475e30
pop esi
pop edi
mov eax, 3
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493825
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x3c]
push ecx
call fcn.00495660
push ebx
call fcn.004edea3
add esp, 8
neg eax
sbb eax, eax
pop esi
and eax, 9
pop edi
add eax, 2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493825
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x48]
mov ecx, 0x549694
call fcn.00475e30
pop esi
pop edi
mov eax, 3
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493825
mov esp, ebp
pop ebp
ret
pop esi
pop edi
mov eax, 4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493825
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x48]
mov ecx, 0x5498ec
call fcn.00475e30
pop esi
pop edi
mov eax, 3
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00493825
mov esp, ebp
pop ebp
ret
push edi
call fcn.004edea3
mov ecx, dword [ebp - 4]
add esp, 4
neg eax
sbb eax, eax
pop esi
and eax, 9
pop edi
xor ecx, ebp
add eax, 2
pop ebx
call fcn.00493825
mov esp, ebp
pop ebp
ret