Function at 0x4847d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14c
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x20]
push ebx
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, ecx
or ecx, 0xffffffff
add esi, edx
lea ebx, [esi - 1]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xec], ecx
xor ecx, ecx
test dword [ebp + 0x18], 0xe20f5a6f
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov ebx, edi
mov dword [esp + 0xe8], edi
je 0x484843
lea eax, [ecx - 3]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, ecx
je 0x48542f
cmp edx, ecx
je 0x48542f
cmp dword [ebp + 0x1c], ecx
jne 0x484860
cmp eax, ecx
jg 0x48542f
cmp eax, ecx
jge 0x484870
mov eax, 0xfffffff1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [edi + 0x18]
add eax, edi
mov dword [esp + 0x60], eax
movzx eax, word [edi + 0x1c]
mov dword [esp + 0x58], eax
movzx eax, word [edi + 0x1a]
mov dword [esp + 0x5c], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], 0x989680
mov dword [esp + 0x40], 0x1770
mov dword [esp + 0xd0], ecx
cmp eax, ecx
je 0x484906
mov eax, dword [eax]
test al, 1
je 0x4848c5
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x18], ecx
xor ecx, ecx
test al, 2
je 0x4848d5
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
test al, 0x10
je 0x4848e5
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x40], ecx
xor ecx, ecx
test al, 4
je 0x4848f8
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0xd0], ecx
xor ecx, ecx
test al, 8
je 0x484906
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], ecx
jne 0x484914
mov dword [esp + 0xc], 0x4b44c0
cmp dword [edi], 0x50435245
je 0x484965
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x104]
push ecx
lea eax, [esp + 0x134]
mov edx, edi
call fcn.00485590
mov ebx, eax
add esp, 4
mov dword [esp + 0xe8], ebx
test ebx, ebx
jne 0x484950
lea eax, [ebx - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x18], 0
je 0x484962
lea edx, [esp + 0x104]
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebx + 8]
mov ecx, eax
or ecx, dword [ebp + 0x18]
shr eax, 0x12
shr ecx, 4
and ecx, 1
mov dword [esp + 0xe0], ecx
movzx ecx, word [ebx + 0xc]
shr ecx, 3
and ecx, 1
mov dword [esp + 0xd8], ecx
movzx ecx, word [ebx + 0x1c]
and eax, 1
mov dword [esp + 0xdc], eax
movzx eax, word [ebx + 0x1a]
imul ecx, eax
movzx eax, word [ebx + 0x18]
add ecx, edi
add eax, ecx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0xa0], edx
add edx, dword [ebp + 0x10]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xa4], edx
mov dword [esp + 0x9c], eax
mov ecx, dword [ebx + 8]
shr ecx, 5
and ecx, 1
mov dword [esp + 0x88], ecx
mov edi, dword [ebx + 8]
mov dword [esp + 0x10], edx
shr edi, 0xb
and edi, 1
mov dword [esp + 0x7c], edi
mov edx, dword [ebx + 8]
shr edx, 0x1d
and edx, 1
mov dword [esp + 0x80], edx
mov eax, dword [ebx + 8]
shr eax, 0x19
and eax, 1
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x18]
mov ecx, eax
shr ecx, 7
and ecx, 1
mov edx, eax
shr edx, 8
and edx, 1
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov ecx, eax
mov edx, eax
shr ecx, 0xa
shr edx, 0x1c
and ecx, 1
and edx, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
test eax, 0x8000000
je 0x484a59
mov edx, 2
jmp 0x484a61
mov edx, eax
shr edx, 0xf
and edx, 1
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x68], edx
add edx, 0x340
xor ecx, ecx
mov dword [esp + 0x6c], edx
mov edx, eax
and edx, 0x1800000
mov dword [esp + 0x94], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xcc], ecx
je 0x484ac4
cmp edx, 0x800000
je 0x484ab7
cmp edx, 0x1000000
je 0x484ade
mov eax, 0xffffffe9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x98], 1
jmp 0x484ae5
mov edx, dword [ebx + 8]
test edx, 0x1800000
je 0x484ade
shr edx, 0x17
and edx, 1
mov dword [esp + 0x98], edx
jmp 0x484ae5
mov dword [esp + 0x98], ecx
test eax, 0x700000
jne 0x484af1
mov edx, dword [ebx + 8]
jmp 0x484af3
mov edx, eax
and edx, 0x700000
cmp edx, 0x300000
ja 0x484b4f
je 0x484b48
cmp edx, ecx
je 0x484b48
cmp edx, 0x100000
je 0x484b41
cmp edx, 0x200000
jne 0x484aab
mov edx, 0xa
mov dword [esp + 0x50], ecx
cmp edx, 0xff
jle 0x484b77
mov ecx, edx
sar ecx, 8
mov byte [esp + 0x64], cl
mov dword [esp + 0x54], 2
mov byte [esp + 0x65], dl
xor ecx, ecx
jmp 0x484b83
mov edx, 0xd
jmp 0x484b1c
mov edx, 0xd0a
jmp 0x484b1c
cmp edx, 0x400000
je 0x484b6d
cmp edx, 0x500000
jne 0x484aab
mov dword [esp + 0x50], 2
jmp 0x484b83
mov dword [esp + 0x50], 1
jmp 0x484b83
mov dword [esp + 0x54], 1
mov byte [esp + 0x64], dl
cmp dword [esp + 0xb4], ecx
je 0x484b9e
test byte [ebx + 0xc], 1
je 0x484b9e
mov eax, 0xfffffff3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, ecx
je 0x484bd7
test eax, 0x2000
jne 0x484bd7
mov eax, dword [ebp + 0x14]
cmp eax, ecx
jle 0x484bd7
cmp eax, dword [ebp + 0x10]
jge 0x484bd7
movzx eax, byte [esi]
cmp eax, 0x7f
jle 0x484bd7
and eax, 0xc0
je 0x484bd7
cmp eax, 0xc0
je 0x484bd7
mov eax, 0xfffffff5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 8]
and eax, 7
mov dword [esp + 0x100], eax
mov eax, 0x55555556
imul dword [ebp + 0x20]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edi, [eax + eax*2]
movzx eax, word [ebx + 0x12]
cmp ax, cx
jbe 0x484c46
mov ecx, eax
mov eax, 0x55555556
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x484c46
lea edi, [ecx + ecx*2 + 3]
lea ecx, [edi*4]
push ecx
call dword [0x4bd378]
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
jne 0x484c3c
mov eax, 0xfffffffa
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x30], 1
jmp 0x484c4d
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x44], edx
lea ecx, [edi + edi]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x70], 0
mov dword [esp + 0xbc], 0xffffffff
movzx eax, word [ebx + 0x10]
lea eax, [eax + eax + 2]
mov dword [esp + 0x34], eax
cmp eax, dword [ebp + 0x20]
jle 0x484c8e
mov dword [esp + 0x34], edi
cmp dword [esp + 0x44], 0
je 0x484ccd
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
cdq
sub eax, edx
sar eax, 1
mov edx, 1
lea ecx, [ecx + edi*4]
sub edx, eax
lea eax, [ecx + edx*4]
sub ecx, 4
cmp ecx, eax
jb 0x484ccd
jmp 0x484cc0
mov dword [ecx], 0xffffffff
sub ecx, 4
cmp ecx, eax
jae 0x484cc0
cmp dword [esp + 0xe0], 0
jne 0x484d29
test byte [ebx + 0xc], 2
je 0x484d0a
movzx eax, word [ebx + 0x14]
mov ecx, eax
and ecx, 0xff
shr eax, 8
and eax, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xf8], eax
je 0x484d29
mov eax, dword [esp + 0x68]
movzx ecx, byte [eax + ecx]
mov dword [esp + 0x1c], ecx
jmp 0x484d29
cmp dword [esp + 0xd8], 0
jne 0x484d29
mov eax, dword [esp + 0x18]
test eax, eax
je 0x484d29
test byte [eax + 4], 1
je 0x484d29
add eax, 8
mov dword [esp + 0x28], eax
test byte [ebx + 0xc], 4
je 0x484d62
movzx eax, word [ebx + 0x16]
mov edx, dword [esp + 0xc]
mov ecx, eax
and ecx, 0xff
shr eax, 8
and eax, 1
mov dword [esp + 0xf0], eax
movzx eax, byte [edx + ecx + 0x100]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xec], eax
mov eax, dword [ebp + 0x18]
and eax, 0x4000000
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0xa0]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x24], edi
test eax, eax
je 0x484db4
mov ecx, dword [esp + 0x34]
lea ecx, [eax + ecx*4]
cmp eax, ecx
jae 0x484db4
mov edi, eax
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa0]
cmp dword [esp + 0xdc], 0
je 0x484eda
cmp dword [esp + 0x14], 0
mov edi, esi
je 0x484e65
mov edx, dword [esp + 0xa4]
cmp esi, edx
jae 0x484ecb
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x50], 0
je 0x484e24
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x14]
lea edx, [esp + 0x54]
push edx
push eax
push ecx
call fcn.00485780
add esp, 0xc
test eax, eax
jne 0x484ecb
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xa4]
jmp 0x484e4a
mov ebx, edx
sub ebx, ecx
cmp edi, ebx
ja 0x484e4a
mov bl, byte [esp + 0x64]
cmp byte [edi], bl
jne 0x484e4a
cmp ecx, 1
je 0x484ecb
mov bl, byte [esp + 0x65]
cmp byte [edi + 1], bl
je 0x484ecb
inc edi
cmp edi, eax
jae 0x484e5f
nop
mov bl, byte [edi]
and bl, 0xc0
cmp bl, 0x80
jne 0x484e5f
inc edi
cmp edi, eax
jb 0x484e50
cmp edi, edx
jb 0x484de6
jmp 0x484ecb
mov eax, dword [esp + 0xa4]
cmp esi, eax
jae 0x484ecb
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x50], 0
je 0x484ea8
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x54]
push edx
push eax
push ecx
xor ebx, ebx
call fcn.00485780
add esp, 0xc
test eax, eax
jne 0x484ecb
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xa4]
jmp 0x484ec6
mov edx, eax
sub edx, ecx
cmp edi, edx
ja 0x484ec6
mov dl, byte [esp + 0x64]
cmp byte [edi], dl
jne 0x484ec6
cmp ecx, 1
je 0x484ecb
mov dl, byte [esp + 0x65]
cmp byte [edi + 1], dl
je 0x484ecb
inc edi
cmp edi, eax
jb 0x484e74
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x10], edi
cmp dword [esp + 0xfc], 0
jne 0x4850da
cmp dword [esp + 0x1c], 0
jl 0x484f47
cmp dword [esp + 0xf8], 0
je 0x484f20
cmp esi, edi
jae 0x4850da
movzx eax, byte [esi]
mov ecx, dword [esp + 0x68]
movzx edx, byte [eax + ecx]
cmp edx, dword [esp + 0x1c]
je 0x4850da
inc esi
cmp esi, edi
jb 0x484f01
jmp 0x4850da
cmp esi, edi
jae 0x4850da
jmp 0x484f30
movzx eax, byte [esi]
cmp eax, dword [esp + 0x1c]
je 0x4850da
inc esi
cmp esi, edi
jb 0x484f30
jmp 0x4850da
cmp dword [esp + 0xd8], 0
je 0x485091
mov ecx, dword [ebp + 0x14]
lea eax, [ebx + ecx]
cmp esi, eax
jbe 0x4850da
cmp dword [esp + 0x14], 0
je 0x485009
cmp esi, edi
jae 0x485071
cmp dword [esp + 0x50], 0
je 0x484fba
cmp esi, ebx
jbe 0x484fe3
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x54]
push ecx
push edx
push eax
mov eax, esi
call fcn.00485890
mov edi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x485071
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa0]
jmp 0x484fe3
lea ecx, [ebx + edx]
cmp esi, ecx
jb 0x484fe3
mov cl, byte [esp + 0x64]
mov eax, esi
sub eax, edx
cmp byte [eax], cl
jne 0x484fe3
cmp edx, 1
je 0x485071
mov cl, byte [esp + 0x65]
cmp byte [eax + 1], cl
je 0x485071
inc esi
cmp esi, edi
jae 0x485071
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x484fff
inc esi
cmp esi, edi
jb 0x484ff0
jmp 0x485071
cmp esi, edi
jb 0x484f76
jmp 0x485071
cmp esi, edi
jae 0x485071
cmp dword [esp + 0x50], 0
je 0x48504b
cmp esi, ebx
jbe 0x48506c
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x54]
push ecx
push edx
push eax
xor ebx, ebx
mov eax, esi
call fcn.00485890
mov edi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x485071
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa0]
jmp 0x48506c
lea ecx, [ebx + edx]
cmp esi, ecx
jb 0x48506c
mov cl, byte [esp + 0x64]
mov eax, esi
sub eax, edx
cmp byte [eax], cl
jne 0x48506c
cmp edx, 1
je 0x485071
mov cl, byte [esp + 0x65]
cmp byte [eax + 1], cl
je 0x485071
inc esi
cmp esi, edi
jb 0x48500d
cmp byte [esi - 1], 0xd
jne 0x4850da
mov eax, dword [esp + 0x50]
cmp eax, 1
je 0x485085
cmp eax, 2
jne 0x4850da
cmp esi, edi
jae 0x4850da
cmp byte [esi], 0xa
jne 0x4850da
inc esi
jmp 0x4850da
cmp dword [esp + 0x28], 0
je 0x4850da
cmp esi, edi
jae 0x4850da
mov edx, dword [esp + 0x28]
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
shr eax, 3
mov al, byte [eax + edx]
test al, bl
jne 0x4850da
inc esi
cmp dword [esp + 0x14], 0
je 0x4850d6
cmp esi, edi
jae 0x4850da
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x4850d6
inc esi
cmp esi, edi
jb 0x4850c5
jmp 0x4850da
cmp esi, edi
jb 0x4850a0
cmp dword [esp + 0xfc], 0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], edx
jne 0x48519a
cmp dword [esp + 0xb4], 0
jne 0x48519a
mov eax, dword [esp + 0x18]
test eax, eax
je 0x485115
test byte [eax + 4], 2
je 0x485115
mov ecx, edx
sub ecx, esi
cmp ecx, dword [eax + 0x28]
jb 0x485164
mov edi, dword [esp + 0xe4]
test edi, edi
js 0x48519a
mov eax, edx
sub eax, esi
cmp eax, 0x3e8
jge 0x48519a
xor eax, eax
cmp dword [esp + 0x1c], eax
setge al
add eax, esi
cmp eax, dword [esp + 0xf4]
jbe 0x48519a
cmp dword [esp + 0xf0], 0
je 0x485171
cmp eax, edx
jae 0x485164
mov ebx, dword [esp + 0xec]
movzx ecx, byte [eax]
inc eax
cmp ecx, edi
je 0x48518e
cmp ecx, ebx
je 0x48518e
cmp eax, edx
jb 0x485154
mov dword [esp + 0x20], 0
jmp 0x485325
cmp eax, edx
jae 0x485164
movzx ecx, byte [eax]
inc eax
cmp ecx, edi
je 0x48518e
cmp eax, edx
jb 0x485175
mov dword [esp + 0x20], 0
jmp 0x485325
dec eax
cmp eax, edx
jae 0x485164
mov dword [esp + 0xf4], eax
mov edx, dword [esp + 0x100]
mov ecx, dword [esp + 0x9c]
xor edi, edi
push edi
push edi
push edi
push edx
lea eax, [esp + 0x48]
push eax
push 2
push edi
push esi
push ecx
push esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd8], esi
mov dword [esp + 0x60], edi
call fcn.0047a740
add esp, 0x28
mov dword [esp + 0x20], eax
cmp dword [esp + 0x94], edi
je 0x4851f1
cmp dword [esp + 0x2c], edi
jne 0x4851f1
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x2c], edx
cmp eax, edi
jg 0x485319
je 0x48521c
lea ecx, [eax + 0x3e6]
cmp ecx, 4
ja 0x485319
jmp dword [ecx*4 + 0x48483c]
lea eax, [esi + 1]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x14], edi
je 0x485244
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jae 0x485244
mov dl, byte [eax]
and dl, 0xc0
cmp dl, 0x80
jne 0x485240
inc eax
cmp eax, ecx
jb 0x485231
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], edi
cmp dword [esp + 0xdc], edi
je 0x4852b5
cmp dword [esp + 0x50], edi
je 0x48528a
cmp esi, dword [esp + 0xa4]
jae 0x4852b5
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x54]
push eax
push ecx
push edx
mov edi, esi
call fcn.00485780
add esp, 0xc
test eax, eax
jne 0x485325
jmp 0x4852b1
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x54]
sub edx, ecx
cmp esi, edx
ja 0x4852b5
mov dl, byte [esp + 0x64]
cmp byte [esi], dl
jne 0x4852b5
cmp ecx, 1
je 0x485325
mov al, byte [esp + 0x65]
cmp byte [esi + 1], al
je 0x485325
mov eax, dword [esp + 0xc]
cmp dword [esp + 0xe0], 0
mov esi, eax
jne 0x485325
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0xc], ecx
ja 0x485325
mov eax, dword [esp + 0xc]
cmp byte [eax - 1], 0xd
jne 0x485303
cmp eax, ecx
jae 0x485303
cmp byte [eax], 0xa
jne 0x485303
mov edx, dword [esp + 0xe8]
test byte [edx + 0xc], 0x20
jne 0x485303
mov ecx, dword [esp + 0x50]
cmp ecx, 1
je 0x485300
cmp ecx, 2
je 0x485300
cmp dword [esp + 0x54], 2
jne 0x485303
lea esi, [eax + 1]
mov dword [esp + 0xd4], 0
jmp 0x484d71
cmp eax, 1
je 0x485389
cmp eax, 0xfffffc19
je 0x485389
cmp dword [esp + 0x30], 0
je 0x48533a
mov eax, dword [esp + 0x44]
push eax
call dword [0x4bd37c]
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x48534b
cmp eax, 0xfffffff4
jne 0x485434
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x485381
cmp dword [ebp + 0x20], 1
mov dword [esp + 0xd4], 0
jle 0x485377
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x1c]
sub eax, edx
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
sub eax, edx
mov dword [ecx + 4], eax
mov eax, 0xfffffff4
jmp 0x485410
or eax, 0xffffffff
jmp 0x485410
cmp dword [esp + 0x30], 0
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x20]
je 0x4853d2
mov ebx, dword [esp + 0x44]
cmp esi, 4
jl 0x4853b7
lea ecx, [esi*4 - 8]
push ecx
lea edx, [ebx + 8]
push edx
lea eax, [edi + 8]
push eax
call fcn.0048a360
add esp, 0xc
cmp dword [esp + 0xb8], esi
jle 0x4853c8
mov dword [esp + 0x70], 1
push ebx
call dword [0x4bd37c]
add esp, 4
cmp dword [esp + 0x70], 0
je 0x4853dd
xor eax, eax
jmp 0x4853e9
mov eax, dword [esp + 0xb8]
cdq
sub eax, edx
sar eax, 1
cmp esi, 2
jge 0x4853f2
xor eax, eax
jmp 0x485410
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa8]
sub edx, ecx
mov dword [edi], edx
mov edx, dword [esp + 0xac]
sub edx, ecx
mov dword [edi + 4], edx
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x485434
test byte [ecx], 0x20
je 0x485434
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0xd4]
mov dword [ecx], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret