Function at 0x483bd0
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 0x483c43
lea eax, [ecx - 3]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, ecx
je 0x48482f
cmp edx, ecx
je 0x48482f
cmp dword [ebp + 0x1c], ecx
jne 0x483c60
cmp eax, ecx
jg 0x48482f
cmp eax, ecx
jge 0x483c70
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 0x483d06
mov eax, dword [eax]
test al, 1
je 0x483cc5
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x18], ecx
xor ecx, ecx
test al, 2
je 0x483cd5
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
test al, 0x10
je 0x483ce5
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x40], ecx
xor ecx, ecx
test al, 4
je 0x483cf8
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0xd0], ecx
xor ecx, ecx
test al, 8
je 0x483d06
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], ecx
jne 0x483d14
mov dword [esp + 0xc], 0x4b44c0
cmp dword [edi], 0x50435245
je 0x483d65
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x104]
push ecx
lea eax, [esp + 0x134]
mov edx, edi
call fcn.00484990
mov ebx, eax
add esp, 4
mov dword [esp + 0xe8], ebx
test ebx, ebx
jne 0x483d50
lea eax, [ebx - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x18], 0
je 0x483d62
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 0x483e59
mov edx, 2
jmp 0x483e61
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 0x483ec4
cmp edx, 0x800000
je 0x483eb7
cmp edx, 0x1000000
je 0x483ede
mov eax, 0xffffffe9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x98], 1
jmp 0x483ee5
mov edx, dword [ebx + 8]
test edx, 0x1800000
je 0x483ede
shr edx, 0x17
and edx, 1
mov dword [esp + 0x98], edx
jmp 0x483ee5
mov dword [esp + 0x98], ecx
test eax, 0x700000
jne 0x483ef1
mov edx, dword [ebx + 8]
jmp 0x483ef3
mov edx, eax
and edx, 0x700000
cmp edx, 0x300000
ja 0x483f4f
je 0x483f48
cmp edx, ecx
je 0x483f48
cmp edx, 0x100000
je 0x483f41
cmp edx, 0x200000
jne 0x483eab
mov edx, 0xa
mov dword [esp + 0x50], ecx
cmp edx, 0xff
jle 0x483f77
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 0x483f83
mov edx, 0xd
jmp 0x483f1c
mov edx, 0xd0a
jmp 0x483f1c
cmp edx, 0x400000
je 0x483f6d
cmp edx, 0x500000
jne 0x483eab
mov dword [esp + 0x50], 2
jmp 0x483f83
mov dword [esp + 0x50], 1
jmp 0x483f83
mov dword [esp + 0x54], 1
mov byte [esp + 0x64], dl
cmp dword [esp + 0xb4], ecx
je 0x483f9e
test byte [ebx + 0xc], 1
je 0x483f9e
mov eax, 0xfffffff3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, ecx
je 0x483fd7
test eax, 0x2000
jne 0x483fd7
mov eax, dword [ebp + 0x14]
cmp eax, ecx
jle 0x483fd7
cmp eax, dword [ebp + 0x10]
jge 0x483fd7
movzx eax, byte [esi]
cmp eax, 0x7f
jle 0x483fd7
and eax, 0xc0
je 0x483fd7
cmp eax, 0xc0
je 0x483fd7
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 0x484046
mov ecx, eax
mov eax, 0x55555556
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x484046
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 0x48403c
mov eax, 0xfffffffa
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x30], 1
jmp 0x48404d
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 0x48408e
mov dword [esp + 0x34], edi
cmp dword [esp + 0x44], 0
je 0x4840cd
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 0x4840cd
jmp 0x4840c0
mov dword [ecx], 0xffffffff
sub ecx, 4
cmp ecx, eax
jae 0x4840c0
cmp dword [esp + 0xe0], 0
jne 0x484129
test byte [ebx + 0xc], 2
je 0x48410a
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 0x484129
mov eax, dword [esp + 0x68]
movzx ecx, byte [eax + ecx]
mov dword [esp + 0x1c], ecx
jmp 0x484129
cmp dword [esp + 0xd8], 0
jne 0x484129
mov eax, dword [esp + 0x18]
test eax, eax
je 0x484129
test byte [eax + 4], 1
je 0x484129
add eax, 8
mov dword [esp + 0x28], eax
test byte [ebx + 0xc], 4
je 0x484162
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 0x4841b4
mov ecx, dword [esp + 0x34]
lea ecx, [eax + ecx*4]
cmp eax, ecx
jae 0x4841b4
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 0x4842da
cmp dword [esp + 0x14], 0
mov edi, esi
je 0x484265
mov edx, dword [esp + 0xa4]
cmp esi, edx
jae 0x4842cb
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x50], 0
je 0x484224
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.00484b80
add esp, 0xc
test eax, eax
jne 0x4842cb
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xa4]
jmp 0x48424a
mov ebx, edx
sub ebx, ecx
cmp edi, ebx
ja 0x48424a
mov bl, byte [esp + 0x64]
cmp byte [edi], bl
jne 0x48424a
cmp ecx, 1
je 0x4842cb
mov bl, byte [esp + 0x65]
cmp byte [edi + 1], bl
je 0x4842cb
inc edi
cmp edi, eax
jae 0x48425f
nop
mov bl, byte [edi]
and bl, 0xc0
cmp bl, 0x80
jne 0x48425f
inc edi
cmp edi, eax
jb 0x484250
cmp edi, edx
jb 0x4841e6
jmp 0x4842cb
mov eax, dword [esp + 0xa4]
cmp esi, eax
jae 0x4842cb
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x50], 0
je 0x4842a8
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.00484b80
add esp, 0xc
test eax, eax
jne 0x4842cb
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xa4]
jmp 0x4842c6
mov edx, eax
sub edx, ecx
cmp edi, edx
ja 0x4842c6
mov dl, byte [esp + 0x64]
cmp byte [edi], dl
jne 0x4842c6
cmp ecx, 1
je 0x4842cb
mov dl, byte [esp + 0x65]
cmp byte [edi + 1], dl
je 0x4842cb
inc edi
cmp edi, eax
jb 0x484274
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x10], edi
cmp dword [esp + 0xfc], 0
jne 0x4844da
cmp dword [esp + 0x1c], 0
jl 0x484347
cmp dword [esp + 0xf8], 0
je 0x484320
cmp esi, edi
jae 0x4844da
movzx eax, byte [esi]
mov ecx, dword [esp + 0x68]
movzx edx, byte [eax + ecx]
cmp edx, dword [esp + 0x1c]
je 0x4844da
inc esi
cmp esi, edi
jb 0x484301
jmp 0x4844da
cmp esi, edi
jae 0x4844da
jmp 0x484330
movzx eax, byte [esi]
cmp eax, dword [esp + 0x1c]
je 0x4844da
inc esi
cmp esi, edi
jb 0x484330
jmp 0x4844da
cmp dword [esp + 0xd8], 0
je 0x484491
mov ecx, dword [ebp + 0x14]
lea eax, [ebx + ecx]
cmp esi, eax
jbe 0x4844da
cmp dword [esp + 0x14], 0
je 0x484409
cmp esi, edi
jae 0x484471
cmp dword [esp + 0x50], 0
je 0x4843ba
cmp esi, ebx
jbe 0x4843e3
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.00484c90
mov edi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x484471
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa0]
jmp 0x4843e3
lea ecx, [ebx + edx]
cmp esi, ecx
jb 0x4843e3
mov cl, byte [esp + 0x64]
mov eax, esi
sub eax, edx
cmp byte [eax], cl
jne 0x4843e3
cmp edx, 1
je 0x484471
mov cl, byte [esp + 0x65]
cmp byte [eax + 1], cl
je 0x484471
inc esi
cmp esi, edi
jae 0x484471
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4843ff
inc esi
cmp esi, edi
jb 0x4843f0
jmp 0x484471
cmp esi, edi
jb 0x484376
jmp 0x484471
cmp esi, edi
jae 0x484471
cmp dword [esp + 0x50], 0
je 0x48444b
cmp esi, ebx
jbe 0x48446c
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.00484c90
mov edi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x484471
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa0]
jmp 0x48446c
lea ecx, [ebx + edx]
cmp esi, ecx
jb 0x48446c
mov cl, byte [esp + 0x64]
mov eax, esi
sub eax, edx
cmp byte [eax], cl
jne 0x48446c
cmp edx, 1
je 0x484471
mov cl, byte [esp + 0x65]
cmp byte [eax + 1], cl
je 0x484471
inc esi
cmp esi, edi
jb 0x48440d
cmp byte [esi - 1], 0xd
jne 0x4844da
mov eax, dword [esp + 0x50]
cmp eax, 1
je 0x484485
cmp eax, 2
jne 0x4844da
cmp esi, edi
jae 0x4844da
cmp byte [esi], 0xa
jne 0x4844da
inc esi
jmp 0x4844da
cmp dword [esp + 0x28], 0
je 0x4844da
cmp esi, edi
jae 0x4844da
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 0x4844da
inc esi
cmp dword [esp + 0x14], 0
je 0x4844d6
cmp esi, edi
jae 0x4844da
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x4844d6
inc esi
cmp esi, edi
jb 0x4844c5
jmp 0x4844da
cmp esi, edi
jb 0x4844a0
cmp dword [esp + 0xfc], 0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], edx
jne 0x48459a
cmp dword [esp + 0xb4], 0
jne 0x48459a
mov eax, dword [esp + 0x18]
test eax, eax
je 0x484515
test byte [eax + 4], 2
je 0x484515
mov ecx, edx
sub ecx, esi
cmp ecx, dword [eax + 0x28]
jb 0x484564
mov edi, dword [esp + 0xe4]
test edi, edi
js 0x48459a
mov eax, edx
sub eax, esi
cmp eax, 0x3e8
jge 0x48459a
xor eax, eax
cmp dword [esp + 0x1c], eax
setge al
add eax, esi
cmp eax, dword [esp + 0xf4]
jbe 0x48459a
cmp dword [esp + 0xf0], 0
je 0x484571
cmp eax, edx
jae 0x484564
mov ebx, dword [esp + 0xec]
movzx ecx, byte [eax]
inc eax
cmp ecx, edi
je 0x48458e
cmp ecx, ebx
je 0x48458e
cmp eax, edx
jb 0x484554
mov dword [esp + 0x20], 0
jmp 0x484725
cmp eax, edx
jae 0x484564
movzx ecx, byte [eax]
inc eax
cmp ecx, edi
je 0x48458e
cmp eax, edx
jb 0x484575
mov dword [esp + 0x20], 0
jmp 0x484725
dec eax
cmp eax, edx
jae 0x484564
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.00479b40
add esp, 0x28
mov dword [esp + 0x20], eax
cmp dword [esp + 0x94], edi
je 0x4845f1
cmp dword [esp + 0x2c], edi
jne 0x4845f1
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x2c], edx
cmp eax, edi
jg case.default.0x48460a
je case.0x48460a.997
lea ecx, [eax + 0x3e6]
cmp ecx, 4
ja case.default.0x48460a
jmp dword [ecx*4 + 0x48483c]
mov eax, dword [esp + 0xa8]
cmp eax, esi
jne 0x484640
lea eax, [esi + 1]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x14], edi
je 0x484644
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jae 0x484644
mov dl, byte [eax]
and dl, 0xc0
cmp dl, 0x80
jne 0x484640
inc eax
cmp eax, ecx
jb 0x484631
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], edi
cmp dword [esp + 0xdc], edi
je 0x4846b5
cmp dword [esp + 0x50], edi
je 0x48468a
cmp esi, dword [esp + 0xa4]
jae 0x4846b5
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.00484b80
add esp, 0xc
test eax, eax
jne 0x484725
jmp 0x4846b1
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x54]
sub edx, ecx
cmp esi, edx
ja 0x4846b5
mov dl, byte [esp + 0x64]
cmp byte [esi], dl
jne 0x4846b5
cmp ecx, 1
je 0x484725
mov al, byte [esp + 0x65]
cmp byte [esi + 1], al
je 0x484725
mov eax, dword [esp + 0xc]
cmp dword [esp + 0xe0], 0
mov esi, eax
jne 0x484725
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0xc], ecx
ja 0x484725
mov eax, dword [esp + 0xc]
cmp byte [eax - 1], 0xd
jne 0x484703
cmp eax, ecx
jae 0x484703
cmp byte [eax], 0xa
jne 0x484703
mov edx, dword [esp + 0xe8]
test byte [edx + 0xc], 0x20
jne 0x484703
mov ecx, dword [esp + 0x50]
cmp ecx, 1
je 0x484700
cmp ecx, 2
je 0x484700
cmp dword [esp + 0x54], 2
jne 0x484703
lea esi, [eax + 1]
mov dword [esp + 0xd4], 0
jmp 0x484171
mov dword [esp + 0x20], edi
jmp 0x484725
cmp eax, 1
je 0x484789
cmp eax, 0xfffffc19
je 0x484789
cmp dword [esp + 0x30], 0
je 0x48473a
mov eax, dword [esp + 0x44]
push eax
call dword [0x4bd37c]
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x48474b
cmp eax, 0xfffffff4
jne 0x484834
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x484781
cmp dword [ebp + 0x20], 1
mov dword [esp + 0xd4], 0
jle 0x484777
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 0x484810
or eax, 0xffffffff
jmp 0x484810
cmp dword [esp + 0x30], 0
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x20]
je 0x4847d2
mov ebx, dword [esp + 0x44]
cmp esi, 4
jl 0x4847b7
lea ecx, [esi*4 - 8]
push ecx
lea edx, [ebx + 8]
push edx
lea eax, [edi + 8]
push eax
call fcn.00489760
add esp, 0xc
cmp dword [esp + 0xb8], esi
jle 0x4847c8
mov dword [esp + 0x70], 1
push ebx
call dword [0x4bd37c]
add esp, 4
cmp dword [esp + 0x70], 0
je 0x4847dd
xor eax, eax
jmp 0x4847e9
mov eax, dword [esp + 0xb8]
cdq
sub eax, edx
sar eax, 1
cmp esi, 2
jge 0x4847f2
xor eax, eax
jmp 0x484810
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 0x484834
test byte [ecx], 0x20
je 0x484834
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