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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14c
mov ecx, dword [ebp + 0x14]
push ebx
push esi
push edi
mov edi, eax
or eax, 0xffffffff
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
xor edx, edx
test dword [ebp + 0x18], 0xe20f5a6f
lea esi, [eax + ecx*2]
lea ebx, [esi - 2]
mov dword [esp + 0x30], edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x18], edi
je 0x486961
lea eax, [edx - 3]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, edx
je 0x487554
cmp eax, edx
je 0x487554
cmp dword [ebp + 0x1c], edx
jne 0x48697f
cmp dword [ebp + 0x20], edx
jg 0x487554
cmp dword [ebp + 0x20], edx
jge 0x486990
mov eax, 0xfffffff1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, edx
jl 0x487548
cmp ecx, dword [ebp + 0x10]
jg 0x487548
movzx eax, word [edi + 0x18]
movzx ecx, word [edi + 0x1c]
add eax, edi
mov dword [esp + 0x80], eax
movzx eax, word [edi + 0x1a]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x78], ecx
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x24], edx
mov dword [esp + 0x5c], 0x989680
mov dword [esp + 0x60], 0x1770
mov dword [esp + 0xf4], edx
mov dword [esp + 0x14], ecx
cmp eax, edx
je 0x486a28
mov ecx, dword [eax]
test cl, 1
je 0x4869f5
mov ebx, dword [eax + 4]
mov dword [esp + 0x24], ebx
test cl, 2
je 0x486a01
mov ebx, dword [eax + 8]
mov dword [esp + 0x5c], ebx
test cl, 0x10
je 0x486a0d
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x60], ebx
test cl, 4
je 0x486a1c
mov ebx, dword [eax + 0xc]
mov dword [esp + 0xf4], ebx
test cl, 8
je 0x486a28
mov eax, dword [eax + 0x10]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], edx
jne 0x486a36
mov dword [esp + 0x14], 0x4b51f8
cmp dword [edi], 0x50435245
je 0x486a81
mov ebx, dword [esp + 0x24]
lea ecx, [esp + 0x104]
push ecx
lea eax, [esp + 0x134]
mov edx, edi
call fcn.004876b0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x486a6f
mov eax, 0xfffffffc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x24], 0
je 0x486a81
lea edx, [esp + 0x104]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
mov edx, dword [ebp + 0x18]
mov ebx, eax
shr eax, 0x12
and eax, 1
mov dword [esp + 0x38], eax
movzx eax, word [ecx + 0x1c]
or ebx, edx
shr ebx, 4
and ebx, 1
mov dword [esp + 0x3c], ebx
movzx ebx, word [ecx + 0xc]
shr ebx, 3
and ebx, 1
mov dword [esp + 0x34], ebx
movzx ebx, word [ecx + 0x1a]
imul eax, ebx
movzx ebx, word [ecx + 0x18]
add ebx, edi
mov edi, dword [ebp + 0xc]
lea eax, [ebx + eax*2]
mov dword [esp + 0xbc], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xe0], eax
mov eax, dword [ebp + 0x10]
lea eax, [edi + eax*2]
mov dword [esp + 0xc4], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc0], edi
mov eax, dword [ecx + 8]
shr eax, 5
and eax, 1
mov dword [esp + 0xa8], eax
mov dword [esp + 0x9c], 1
mov eax, dword [ecx + 8]
shr eax, 0x1d
and eax, 1
mov dword [esp + 0xa0], eax
mov eax, dword [ecx + 8]
shr eax, 0x19
and eax, 1
mov dword [esp + 0xa4], eax
mov eax, edx
shr eax, 7
and eax, 1
mov dword [esp + 0x94], eax
mov eax, edx
shr eax, 8
and eax, 1
mov dword [esp + 0x98], eax
mov eax, edx
shr eax, 0xa
and eax, 1
mov dword [esp + 0xac], eax
mov eax, edx
shr eax, 0x1c
and eax, 1
mov dword [esp + 0xb0], eax
test edx, 0x8000000
je 0x486b77
mov eax, 2
jmp 0x486b7f
mov eax, edx
shr eax, 0xf
and eax, 1
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x88], eax
add eax, 0x340
xor ebx, ebx
mov dword [esp + 0x8c], eax
mov eax, edx
and eax, 0x1800000
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xf0], ebx
je 0x486be4
cmp eax, 0x800000
je 0x486bd7
cmp eax, 0x1000000
je 0x486bfd
mov eax, 0xffffffe9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xb8], 1
jmp 0x486c04
mov eax, dword [ecx + 8]
test eax, 0x1800000
je 0x486bfd
shr eax, 0x17
and eax, 1
mov dword [esp + 0xb8], eax
jmp 0x486c04
mov dword [esp + 0xb8], ebx
test edx, 0x700000
jne 0x486c11
mov eax, dword [ecx + 8]
jmp 0x486c13
mov eax, edx
and eax, 0x700000
cmp eax, 0x300000
ja 0x486c70
je 0x486c69
cmp eax, ebx
je 0x486c69
cmp eax, 0x100000
je 0x486c62
cmp eax, 0x200000
jne 0x486bcb
mov eax, 0xa
mov dword [esp + 0x70], ebx
cmp eax, 0xff
jle 0x486c96
mov ebx, eax
sar ebx, 8
mov byte [esp + 0x84], bl
mov dword [esp + 0x74], 2
mov byte [esp + 0x85], al
xor ebx, ebx
jmp 0x486ca5
mov eax, 0xd
jmp 0x486c38
mov eax, 0xd0a
jmp 0x486c38
cmp eax, 0x400000
je 0x486c8c
cmp eax, 0x500000
jne 0x486bcb
mov dword [esp + 0x70], 2
jmp 0x486ca5
mov dword [esp + 0x70], 1
jmp 0x486ca5
mov dword [esp + 0x74], 1
mov byte [esp + 0x84], al
cmp dword [esp + 0xd4], ebx
je 0x486cc0
test byte [ecx + 0xc], 1
je 0x486cc0
mov eax, 0xfffffff3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edx, 0x2000
jne 0x486d57
movzx eax, word [edi]
mov edx, 0xdc00
cmp ax, dx
jb 0x486d10
mov edx, 0xdfff
cmp ax, dx
ja 0x486d10
cmp dword [ebp + 0x20], 2
jl 0x486cf5
mov eax, dword [ebp + 0x1c]
mov dword [eax], ebx
mov dword [eax + 4], 0xffffffff
xor eax, eax
cmp dword [esp + 0xd4], 1
setle al
dec eax
and eax, 0xfffffff1
add eax, 0xfffffff6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
cmp eax, ebx
jle 0x486d57
cmp eax, dword [ebp + 0x10]
jge 0x486d57
movzx eax, word [esi - 2]
mov edx, 0xd800
cmp ax, dx
jb 0x486d57
mov edx, 0xdbff
cmp ax, dx
ja 0x486d57
movzx eax, word [esi]
mov edx, 0xdc00
cmp ax, dx
jb 0x486d57
mov edx, 0xdfff
cmp ax, dx
ja 0x486d57
mov eax, 0xfffffff5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x55555556
imul dword [ebp + 0x20]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ebx, [eax + eax*2]
movzx eax, word [ecx + 0x12]
mov dword [esp + 0x44], ebx
test ax, ax
je 0x486dc1
mov ecx, eax
mov eax, 0x55555556
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x486dc1
lea ebx, [ecx + ecx*2 + 3]
lea ecx, [ebx*4]
push ecx
mov dword [esp + 0x48], ebx
call dword [0x4be358]
mov edi, eax
add esp, 4
mov dword [esp + 0x64], edi
test edi, edi
jne 0x486db7
lea eax, [edi - 6]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x30], 1
jmp 0x486dc8
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0x64], edi
lea ecx, [ebx + ebx]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
or edx, 0xffffffff
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x90], 0
mov dword [esp + 0xdc], edx
test edi, edi
je 0x486e36
mov ecx, dword [esp + 0x18]
movzx ecx, word [ecx + 0x10]
add ecx, ecx
lea eax, [edi + ebx*4]
lea ebx, [ecx + ecx]
mov ecx, eax
sub ecx, ebx
lea ebx, [edi + 8]
cmp ecx, ebx
jae 0x486e17
mov ecx, ebx
sub eax, 4
cmp eax, ecx
jb 0x486e2d
mov edi, edi
mov dword [eax], edx
sub eax, 4
cmp eax, ecx
jae 0x486e20
mov edi, dword [esp + 0x64]
mov dword [edi + 4], edx
mov eax, dword [esp + 0x64]
mov dword [eax], edx
cmp dword [esp + 0x3c], 0
jne 0x486e92
mov edx, dword [esp + 0x18]
test byte [edx + 0xc], 2
je 0x486e74
movzx eax, word [edx + 0x14]
mov ecx, eax
and ecx, 0xff
shr eax, 8
and eax, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x54], eax
je 0x486e96
mov eax, dword [esp + 0x88]
movzx ecx, byte [eax + ecx]
mov dword [esp + 0x20], ecx
jmp 0x486e96
cmp dword [esp + 0x34], 0
jne 0x486e92
mov eax, dword [esp + 0x24]
test eax, eax
je 0x486e92
test byte [eax + 4], 1
je 0x486e92
add eax, 8
mov dword [esp + 0x2c], eax
jmp 0x486e96
mov edx, dword [esp + 0x18]
test byte [edx + 0xc], 4
je 0x486eca
mov edx, dword [esp + 0x18]
movzx eax, word [edx + 0x16]
mov ecx, eax
and ecx, 0xff
shr eax, 8
and eax, 1
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
movzx ecx, byte [eax + ecx + 0x100]
mov dword [esp + 0x48], ecx
mov eax, dword [ebp + 0x18]
and eax, 0x4000000
mov dword [esp + 0x100], eax
cmp dword [esp + 0x38], 0
mov ecx, dword [esp + 0x1c]
mov ebx, ecx
mov dword [esp + 0x14], ebx
je 0x486f68
mov eax, dword [esp + 0xc4]
mov ecx, esi
cmp esi, eax
jae 0x486f64
mov edx, dword [esp + 0x74]
jmp 0x486f00
mov edi, dword [esp + 0x70]
test edi, edi
je 0x486f28
push 1
push edi
lea edi, [esp + 0x7c]
call fcn.004878a0
add esp, 8
test eax, eax
jne 0x486f64
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0x74]
jmp 0x486f57
lea edi, [edx + edx]
mov ebx, eax
sub ebx, edi
cmp ecx, ebx
ja 0x486f53
movzx edi, byte [esp + 0x84]
cmp word [ecx], di
jne 0x486f53
cmp edx, 1
je 0x486f60
movzx edi, byte [esp + 0x85]
cmp word [ecx + 2], di
je 0x486f60
mov ebx, dword [esp + 0x14]
add ecx, 2
cmp ecx, eax
jb 0x486f00
jmp 0x486f64
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
or eax, dword [ebp + 0x18]
test eax, 0x4000000
jne 0x487188
cmp dword [esp + 0x20], 0
jl 0x486fe9
cmp dword [esp + 0x54], 0
je 0x486fbd
cmp esi, ecx
jae 0x487188
mov eax, dword [esp + 0x88]
lea ebx, [ebx]
movzx edx, word [esi]
movzx edx, byte [edx + eax]
cmp edx, dword [esp + 0x20]
je 0x487188
add esi, 2
cmp esi, ecx
jb 0x486fa0
jmp 0x487188
cmp esi, ecx
jae 0x487188
jmp 0x486fd0
movzx eax, word [esi]
cmp eax, dword [esp + 0x20]
je 0x487188
add esi, 2
cmp esi, ecx
jb 0x486fd0
jmp 0x487188
cmp dword [esp + 0x34], 0
je 0x487104
mov edx, dword [ebp + 0x14]
mov eax, dword [esp + 0xc0]
lea edx, [eax + edx*2]
cmp esi, edx
jbe 0x487188
cmp esi, ecx
jae 0x4870cb
cmp dword [esp + 0x70], 0
je 0x48704b
cmp esi, dword [esp + 0xc0]
jbe 0x487083
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0xc0]
push eax
mov eax, dword [esp + 0x14]
lea edi, [esp + 0x78]
call fcn.00487970
mov esi, dword [esp + 0x14]
add esp, 4
test eax, eax
jne 0x4870cb
jmp 0x487083
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0xc0]
lea ecx, [edx + edx]
add eax, ecx
cmp esi, eax
jb 0x487083
mov eax, esi
sub eax, ecx
movzx ecx, byte [esp + 0x84]
cmp word [eax], cx
jne 0x487083
cmp edx, 1
je 0x4870cb
movzx edx, byte [esp + 0x85]
cmp word [eax + 2], dx
je 0x4870cb
movzx eax, word [esi + 2]
add esi, 2
mov ecx, 0xdc00
mov dword [esp + 0x10], esi
cmp ax, cx
jb 0x4870c1
mov edx, 0xdfff
cmp ax, dx
ja 0x4870c1
movzx eax, word [esi - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x4870c1
mov edx, 0xdbff
cmp ax, dx
ja 0x4870c1
add esi, 2
mov dword [esp + 0x10], esi
cmp esi, dword [esp + 0x1c]
jb 0x487011
cmp word [esi - 2], 0xd
jne 0x487188
mov eax, dword [esp + 0x70]
cmp eax, 1
je 0x4870e8
cmp eax, 2
jne 0x487188
cmp esi, dword [esp + 0x1c]
jae 0x487188
cmp word [esi], 0xa
jne 0x487188
add esi, 2
jmp 0x487188
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x487188
xor eax, eax
cmp byte [edi + 0x1f], al
setne al
mov edi, eax
cmp esi, ecx
jae 0x487188
movzx eax, word [esi]
cmp eax, 0x7f
jbe 0x487126
mov eax, edi
jmp 0x48714a
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x2c]
shr eax, 3
mov al, byte [eax + ecx]
mov ecx, dword [esp + 0x1c]
test al, dl
mov eax, 0
sete al
test eax, eax
je 0x487188
movzx eax, word [esi + 2]
add esi, 2
mov edx, 0xdc00
cmp ax, dx
jb 0x487184
mov edx, 0xdfff
cmp ax, dx
ja 0x487184
movzx eax, word [esi - 2]
mov edx, 0xd800
cmp ax, dx
jb 0x487184
mov edx, 0xdbff
cmp ax, dx
ja 0x487184
add esi, 2
cmp esi, ecx
jb 0x48711a
cmp dword [esp + 0x100], 0
mov dword [esp + 0x1c], ebx
jne 0x487233
cmp dword [esp + 0xd4], 0
jne 0x487233
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4871c1
test byte [eax + 4], 2
je 0x4871c1
mov ecx, ebx
sub ecx, esi
sar ecx, 1
cmp ecx, dword [eax + 0x28]
jb 0x487208
mov edx, dword [esp + 0x40]
test edx, edx
js 0x487233
mov eax, ebx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 0x7d0
jge 0x487233
xor ecx, ecx
cmp dword [esp + 0x20], ecx
setge cl
lea eax, [esi + ecx*2]
cmp eax, dword [esp + 0x50]
jbe 0x487233
cmp dword [esp + 0x4c], 0
je 0x48720f
cmp eax, ebx
jae 0x487208
movzx ecx, word [eax]
add eax, 2
cmp ecx, edx
je 0x487228
cmp ecx, dword [esp + 0x48]
je 0x487228
cmp eax, ebx
jb 0x4871f4
xor ebx, ebx
jmp 0x4873ed
cmp eax, ebx
jae 0x487208
movzx ecx, word [eax]
add eax, 2
cmp ecx, edx
je 0x487228
cmp eax, ebx
jb 0x487213
xor ebx, ebx
jmp 0x4873ed
sub eax, 2
cmp eax, ebx
jae 0x487208
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xbc]
xor edi, edi
push edi
push edi
lea edx, [esp + 0x60]
push edx
push 2
push edi
push esi
push eax
push esi
mov dword [esp + 0xe8], esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0x78], edi
mov dword [esp + 0x104], edi
mov dword [esp + 0xf8], edi
call fcn.0047dde0
add esp, 0x20
mov ebx, eax
cmp dword [esp + 0xb4], edi
je 0x48728d
cmp dword [esp + 0x28], edi
jne 0x48728d
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x28], ecx
cmp ebx, 0xfffffc1e
jg 0x4872b8
je 0x4872ab
cmp ebx, 0xfffffc1a
je 0x487208
cmp ebx, 0xfffffc1d
jmp 0x4872ce
mov ecx, dword [esp + 0xc8]
cmp ecx, esi
je 0x4872d4
jmp 0x48730e
cmp ebx, 0xfffffc1f
jl 0x4873e0
cmp ebx, 0xfffffc20
jle 0x4872d4
cmp ebx, edi
jne 0x4873e0
movzx eax, word [esi + 2]
lea ecx, [esi + 2]
mov edx, 0xdc00
mov dword [esp + 0x10], ecx
cmp ax, dx
jb 0x487312
mov edx, 0xdfff
cmp ax, dx
ja 0x487312
movzx eax, word [ecx - 2]
mov edx, 0xd800
cmp ax, dx
jb 0x487312
mov edx, 0xdbff
cmp ax, dx
ja 0x487312
add ecx, 2
mov dword [esp + 0x10], ecx
xor ebx, ebx
cmp dword [esp + 0x38], edi
je 0x487387
cmp dword [esp + 0x70], edi
je 0x487353
cmp esi, dword [esp + 0xc4]
jae 0x487387
mov eax, dword [esp + 0x70]
push 1
push eax
mov eax, dword [esp + 0xcc]
lea edi, [esp + 0x7c]
mov ecx, esi
call fcn.004878a0
add esp, 8
test eax, eax
jne 0x4873ed
mov ecx, dword [esp + 0x10]
jmp 0x487387
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xc4]
lea edx, [eax + eax]
sub edi, edx
cmp esi, edi
ja 0x487387
movzx edx, byte [esp + 0x84]
cmp word [esi], dx
jne 0x487387
cmp eax, 1
je 0x4873ed
movzx eax, byte [esp + 0x85]
cmp word [esi + 2], ax
je 0x4873ed
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x3c], ebx
jne 0x4873ed
mov eax, dword [esp + 0x14]
cmp ecx, eax
ja 0x4873ed
cmp word [ecx - 2], 0xd
jne 0x4873d0
cmp ecx, eax
jae 0x4873d0
cmp word [ecx], 0xa
jne 0x4873d0
mov edx, dword [esp + 0x18]
test byte [edx + 0xc], 0x20
jne 0x4873d0
mov eax, dword [esp + 0x70]
cmp eax, 1
je 0x4873c9
cmp eax, 2
je 0x4873c9
cmp dword [esp + 0x74], 2
jne 0x4873d0
add ecx, 2
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x10]
mov dword [esp + 0xf8], ebx
jmp 0x486ed9
cmp ebx, 1
je 0x487451
cmp ebx, 0xfffffc19
je 0x487451
cmp dword [esp + 0x30], 0
je 0x487402
mov eax, dword [esp + 0x64]
push eax
call dword [0x4be35c]
add esp, 4
test ebx, ebx
je 0x48740f
cmp ebx, 0xfffffff4
jne 0x48753f
mov eax, dword [esp + 0x28]
test eax, eax
je 0x487449
cmp dword [ebp + 0x20], 1
mov dword [esp + 0xf8], 0
jle 0x48743f
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x1c]
sub eax, edx
sar eax, 1
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
sub eax, edx
sar eax, 1
mov dword [ecx + 4], eax
mov ebx, 0xfffffff4
jmp 0x487527
or ebx, 0xffffffff
jmp 0x487527
cmp dword [esp + 0x30], edi
mov edi, dword [ebp + 0x20]
je 0x48749c
mov esi, dword [esp + 0x64]
cmp edi, 4
jl 0x48747e
mov eax, dword [ebp + 0x1c]
lea ecx, [edi*4 - 8]
push ecx
lea edx, [esi + 8]
push edx
add eax, 8
push eax
call fcn.004903a0
add esp, 0xc
cmp dword [esp + 0xd8], edi
jle 0x487492
mov dword [esp + 0x90], 1
push esi
call dword [0x4be35c]
add esp, 4
cmp dword [esp + 0x90], 0
mov esi, dword [esp + 0xd8]
je 0x4874b1
xor ebx, ebx
jmp 0x4874ba
mov eax, esi
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
mov ecx, dword [esp + 0x18]
movzx ecx, word [ecx + 0x10]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
cmp eax, ecx
jg 0x4874f8
cmp dword [ebp + 0x1c], 0
je 0x4874f8
lea eax, [ecx + ecx + 2]
cmp eax, edi
jle 0x4874df
mov eax, dword [esp + 0x44]
mov ecx, dword [ebp + 0x1c]
lea edi, [ecx + esi*4]
lea ecx, [ecx + eax*4]
cmp edi, ecx
jae 0x4874f8
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
cmp dword [ebp + 0x20], 2
jge 0x487502
xor ebx, ebx
jmp 0x487527
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc8]
mov eax, dword [ebp + 0x1c]
sub edx, ecx
sar edx, 1
mov dword [eax], edx
mov edx, dword [esp + 0xcc]
sub edx, ecx
sar edx, 1
mov dword [eax + 4], edx
mov eax, dword [ebp + 8]
test eax, eax
je 0x48753f
test byte [eax], 0x20
je 0x48753f
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0xf8]
mov dword [eax], ecx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffe8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret