Function at 0x485090
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 0x485103
lea eax, [ecx - 3]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, ecx
je 0x485cef
cmp edx, ecx
je 0x485cef
cmp dword [ebp + 0x1c], ecx
jne 0x485120
cmp eax, ecx
jg 0x485cef
cmp eax, ecx
jge 0x485130
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 0x4851c6
mov eax, dword [eax]
test al, 1
je 0x485185
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x18], ecx
xor ecx, ecx
test al, 2
je 0x485195
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
test al, 0x10
je 0x4851a5
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x40], ecx
xor ecx, ecx
test al, 4
je 0x4851b8
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0xd0], ecx
xor ecx, ecx
test al, 8
je 0x4851c6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], ecx
jne 0x4851d4
mov dword [esp + 0xc], 0x4b2570
cmp dword [edi], 0x50435245
je 0x485225
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x104]
push ecx
lea eax, [esp + 0x134]
mov edx, edi
call fcn.00485e50
mov ebx, eax
add esp, 4
mov dword [esp + 0xe8], ebx
test ebx, ebx
jne 0x485210
lea eax, [ebx - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x18], 0
je 0x485222
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 0x485319
mov edx, 2
jmp 0x485321
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 0x485384
cmp edx, 0x800000
je 0x485377
cmp edx, 0x1000000
je 0x48539e
mov eax, 0xffffffe9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x98], 1
jmp 0x4853a5
mov edx, dword [ebx + 8]
test edx, 0x1800000
je 0x48539e
shr edx, 0x17
and edx, 1
mov dword [esp + 0x98], edx
jmp 0x4853a5
mov dword [esp + 0x98], ecx
test eax, 0x700000
jne 0x4853b1
mov edx, dword [ebx + 8]
jmp 0x4853b3
mov edx, eax
and edx, 0x700000
cmp edx, 0x300000
ja 0x48540f
je 0x485408
cmp edx, ecx
je 0x485408
cmp edx, 0x100000
je 0x485401
cmp edx, 0x200000
jne 0x48536b
mov edx, 0xa
mov dword [esp + 0x50], ecx
cmp edx, 0xff
jle 0x485437
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 0x485443
mov edx, 0xd
jmp 0x4853dc
mov edx, 0xd0a
jmp 0x4853dc
cmp edx, 0x400000
je 0x48542d
cmp edx, 0x500000
jne 0x48536b
mov dword [esp + 0x50], 2
jmp 0x485443
mov dword [esp + 0x50], 1
jmp 0x485443
mov dword [esp + 0x54], 1
mov byte [esp + 0x64], dl
cmp dword [esp + 0xb4], ecx
je 0x48545e
test byte [ebx + 0xc], 1
je 0x48545e
mov eax, 0xfffffff3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, ecx
je 0x485497
test eax, 0x2000
jne 0x485497
mov eax, dword [ebp + 0x14]
cmp eax, ecx
jle 0x485497
cmp eax, dword [ebp + 0x10]
jge 0x485497
movzx eax, byte [esi]
cmp eax, 0x7f
jle 0x485497
and eax, 0xc0
je 0x485497
cmp eax, 0xc0
je 0x485497
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 0x485506
mov ecx, eax
mov eax, 0x55555556
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x485506
lea edi, [ecx + ecx*2 + 3]
lea ecx, [edi*4]
push ecx
call dword [0x4ba358]
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
jne 0x4854fc
mov eax, 0xfffffffa
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x30], 1
jmp 0x48550d
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 0x48554e
mov dword [esp + 0x34], edi
cmp dword [esp + 0x44], 0
je 0x48558d
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 0x48558d
jmp 0x485580
mov dword [ecx], 0xffffffff
sub ecx, 4
cmp ecx, eax
jae 0x485580
cmp dword [esp + 0xe0], 0
jne 0x4855e9
test byte [ebx + 0xc], 2
je 0x4855ca
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 0x4855e9
mov eax, dword [esp + 0x68]
movzx ecx, byte [eax + ecx]
mov dword [esp + 0x1c], ecx
jmp 0x4855e9
cmp dword [esp + 0xd8], 0
jne 0x4855e9
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4855e9
test byte [eax + 4], 1
je 0x4855e9
add eax, 8
mov dword [esp + 0x28], eax
test byte [ebx + 0xc], 4
je 0x485622
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 0x485674
mov ecx, dword [esp + 0x34]
lea ecx, [eax + ecx*4]
cmp eax, ecx
jae 0x485674
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 0x48579a
cmp dword [esp + 0x14], 0
mov edi, esi
je 0x485725
mov edx, dword [esp + 0xa4]
cmp esi, edx
jae 0x48578b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x50], 0
je 0x4856e4
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.00486040
add esp, 0xc
test eax, eax
jne 0x48578b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xa4]
jmp 0x48570a
mov ebx, edx
sub ebx, ecx
cmp edi, ebx
ja 0x48570a
mov bl, byte [esp + 0x64]
cmp byte [edi], bl
jne 0x48570a
cmp ecx, 1
je 0x48578b
mov bl, byte [esp + 0x65]
cmp byte [edi + 1], bl
je 0x48578b
inc edi
cmp edi, eax
jae 0x48571f
nop
mov bl, byte [edi]
and bl, 0xc0
cmp bl, 0x80
jne 0x48571f
inc edi
cmp edi, eax
jb 0x485710
cmp edi, edx
jb 0x4856a6
jmp 0x48578b
mov eax, dword [esp + 0xa4]
cmp esi, eax
jae 0x48578b
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x50], 0
je 0x485768
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.00486040
add esp, 0xc
test eax, eax
jne 0x48578b
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xa4]
jmp 0x485786
mov edx, eax
sub edx, ecx
cmp edi, edx
ja 0x485786
mov dl, byte [esp + 0x64]
cmp byte [edi], dl
jne 0x485786
cmp ecx, 1
je 0x48578b
mov dl, byte [esp + 0x65]
cmp byte [edi + 1], dl
je 0x48578b
inc edi
cmp edi, eax
jb 0x485734
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x10], edi
cmp dword [esp + 0xfc], 0
jne 0x48599a
cmp dword [esp + 0x1c], 0
jl 0x485807
cmp dword [esp + 0xf8], 0
je 0x4857e0
cmp esi, edi
jae 0x48599a
movzx eax, byte [esi]
mov ecx, dword [esp + 0x68]
movzx edx, byte [eax + ecx]
cmp edx, dword [esp + 0x1c]
je 0x48599a
inc esi
cmp esi, edi
jb 0x4857c1
jmp 0x48599a
cmp esi, edi
jae 0x48599a
jmp 0x4857f0
movzx eax, byte [esi]
cmp eax, dword [esp + 0x1c]
je 0x48599a
inc esi
cmp esi, edi
jb 0x4857f0
jmp 0x48599a
cmp dword [esp + 0xd8], 0
je 0x485951
mov ecx, dword [ebp + 0x14]
lea eax, [ebx + ecx]
cmp esi, eax
jbe 0x48599a
cmp dword [esp + 0x14], 0
je 0x4858c9
cmp esi, edi
jae 0x485931
cmp dword [esp + 0x50], 0
je 0x48587a
cmp esi, ebx
jbe 0x4858a3
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.00486150
mov edi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x485931
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa0]
jmp 0x4858a3
lea ecx, [ebx + edx]
cmp esi, ecx
jb 0x4858a3
mov cl, byte [esp + 0x64]
mov eax, esi
sub eax, edx
cmp byte [eax], cl
jne 0x4858a3
cmp edx, 1
je 0x485931
mov cl, byte [esp + 0x65]
cmp byte [eax + 1], cl
je 0x485931
inc esi
cmp esi, edi
jae 0x485931
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4858bf
inc esi
cmp esi, edi
jb 0x4858b0
jmp 0x485931
cmp esi, edi
jb 0x485836
jmp 0x485931
cmp esi, edi
jae 0x485931
cmp dword [esp + 0x50], 0
je 0x48590b
cmp esi, ebx
jbe 0x48592c
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.00486150
mov edi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x485931
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa0]
jmp 0x48592c
lea ecx, [ebx + edx]
cmp esi, ecx
jb 0x48592c
mov cl, byte [esp + 0x64]
mov eax, esi
sub eax, edx
cmp byte [eax], cl
jne 0x48592c
cmp edx, 1
je 0x485931
mov cl, byte [esp + 0x65]
cmp byte [eax + 1], cl
je 0x485931
inc esi
cmp esi, edi
jb 0x4858cd
cmp byte [esi - 1], 0xd
jne 0x48599a
mov eax, dword [esp + 0x50]
cmp eax, 1
je 0x485945
cmp eax, 2
jne 0x48599a
cmp esi, edi
jae 0x48599a
cmp byte [esi], 0xa
jne 0x48599a
inc esi
jmp 0x48599a
cmp dword [esp + 0x28], 0
je 0x48599a
cmp esi, edi
jae 0x48599a
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 0x48599a
inc esi
cmp dword [esp + 0x14], 0
je 0x485996
cmp esi, edi
jae 0x48599a
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x485996
inc esi
cmp esi, edi
jb 0x485985
jmp 0x48599a
cmp esi, edi
jb 0x485960
cmp dword [esp + 0xfc], 0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], edx
jne 0x485a5a
cmp dword [esp + 0xb4], 0
jne 0x485a5a
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4859d5
test byte [eax + 4], 2
je 0x4859d5
mov ecx, edx
sub ecx, esi
cmp ecx, dword [eax + 0x28]
jb 0x485a24
mov edi, dword [esp + 0xe4]
test edi, edi
js 0x485a5a
mov eax, edx
sub eax, esi
cmp eax, 0x3e8
jge 0x485a5a
xor eax, eax
cmp dword [esp + 0x1c], eax
setge al
add eax, esi
cmp eax, dword [esp + 0xf4]
jbe 0x485a5a
cmp dword [esp + 0xf0], 0
je 0x485a31
cmp eax, edx
jae 0x485a24
mov ebx, dword [esp + 0xec]
movzx ecx, byte [eax]
inc eax
cmp ecx, edi
je 0x485a4e
cmp ecx, ebx
je 0x485a4e
cmp eax, edx
jb 0x485a14
mov dword [esp + 0x20], 0
jmp 0x485be5
cmp eax, edx
jae 0x485a24
movzx ecx, byte [eax]
inc eax
cmp ecx, edi
je 0x485a4e
cmp eax, edx
jb 0x485a35
mov dword [esp + 0x20], 0
jmp 0x485be5
dec eax
cmp eax, edx
jae 0x485a24
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.0047b000
add esp, 0x28
mov dword [esp + 0x20], eax
cmp dword [esp + 0x94], edi
je 0x485ab1
cmp dword [esp + 0x2c], edi
jne 0x485ab1
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x2c], edx
cmp eax, edi
jg 0x485bd9
je 0x485adc
lea ecx, [eax + 0x3e6]
cmp ecx, 4
ja 0x485bd9
jmp dword [ecx*4 + 0x4850fc]
lea eax, [esi + 1]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x14], edi
je 0x485b04
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jae 0x485b04
mov dl, byte [eax]
and dl, 0xc0
cmp dl, 0x80
jne 0x485b00
inc eax
cmp eax, ecx
jb 0x485af1
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], edi
cmp dword [esp + 0xdc], edi
je 0x485b75
cmp dword [esp + 0x50], edi
je 0x485b4a
cmp esi, dword [esp + 0xa4]
jae 0x485b75
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.00486040
add esp, 0xc
test eax, eax
jne 0x485be5
jmp 0x485b71
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x54]
sub edx, ecx
cmp esi, edx
ja 0x485b75
mov dl, byte [esp + 0x64]
cmp byte [esi], dl
jne 0x485b75
cmp ecx, 1
je 0x485be5
mov al, byte [esp + 0x65]
cmp byte [esi + 1], al
je 0x485be5
mov eax, dword [esp + 0xc]
cmp dword [esp + 0xe0], 0
mov esi, eax
jne 0x485be5
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0xc], ecx
ja 0x485be5
mov eax, dword [esp + 0xc]
cmp byte [eax - 1], 0xd
jne 0x485bc3
cmp eax, ecx
jae 0x485bc3
cmp byte [eax], 0xa
jne 0x485bc3
mov edx, dword [esp + 0xe8]
test byte [edx + 0xc], 0x20
jne 0x485bc3
mov ecx, dword [esp + 0x50]
cmp ecx, 1
je 0x485bc0
cmp ecx, 2
je 0x485bc0
cmp dword [esp + 0x54], 2
jne 0x485bc3
lea esi, [eax + 1]
mov dword [esp + 0xd4], 0
jmp 0x485631
cmp eax, 1
je 0x485c49
cmp eax, 0xfffffc19
je 0x485c49
cmp dword [esp + 0x30], 0
je 0x485bfa
mov eax, dword [esp + 0x44]
push eax
call dword [0x4ba35c]
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x485c0b
cmp eax, 0xfffffff4
jne 0x485cf4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x485c41
cmp dword [ebp + 0x20], 1
mov dword [esp + 0xd4], 0
jle 0x485c37
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 0x485cd0
or eax, 0xffffffff
jmp 0x485cd0
cmp dword [esp + 0x30], 0
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x20]
je 0x485c92
mov ebx, dword [esp + 0x44]
cmp esi, 4
jl 0x485c77
lea ecx, [esi*4 - 8]
push ecx
lea edx, [ebx + 8]
push edx
lea eax, [edi + 8]
push eax
call fcn.0048ebd0
add esp, 0xc
cmp dword [esp + 0xb8], esi
jle 0x485c88
mov dword [esp + 0x70], 1
push ebx
call dword [0x4ba35c]
add esp, 4
cmp dword [esp + 0x70], 0
je 0x485c9d
xor eax, eax
jmp 0x485ca9
mov eax, dword [esp + 0xb8]
cdq
sub eax, edx
sar eax, 1
cmp esi, 2
jge 0x485cb2
xor eax, eax
jmp 0x485cd0
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 0x485cf4
test byte [ecx], 0x20
je 0x485cf4
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