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

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x3c]
mov edx, 1
mov eax, dword [edi + 0x74]
mov ecx, dword [edi + 0x7c]
mov ebp, dword [edi + 0x68]
mov ebx, dword [edi + 4]
mov esi, dword [edi + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x78]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], ebp
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x40]
shl edx, cl
add eax, 0xc
mov ecx, edx
mov dword [esp + 0x14], eax
mov eax, dword [edi]
sar ecx, 1
or ecx, edx
mov dword [esp + 0x18], ecx
xor ecx, ecx
test dword [edi + 0x80], 0xfffffffc
mov dword [esp + 0x28], ecx
jbe 0x4c0c7d
mov ecx, dword [esp + 0x20]
lea edx, [ecx + ecx*2]
shl edx, 2
xor ebp, ebp
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x14]
jmp 0x4bf174
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x34], 0
test ecx, ecx
je 0x4c0c48
mov ebp, dword [edx]
mov dword [esp + 0x40], ebp
test ebp, ebp
jne 0x4bffe7
mov edx, dword [edi + 0x60]
lea ecx, [edi + 0x60]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4bf223
cmp ebx, ebp
mov ebx, ebp
jae 0x4bf1b7
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
jmp 0x4bf1ca
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4bf211
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bf204
cmp edx, 0x8f
jbe 0x4bf1f5
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bf20c
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bf211
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bf1d0
jmp 0x4bf2aa
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4bf2a7
cmp ebx, ebp
jae 0x4bf24b
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x24]
jmp 0x4bf251
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4bf298
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bf28b
cmp edx, 0x8f
jbe 0x4bf27c
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bf293
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bf298
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bf257
jmp 0x4bf2aa
mov ebp, dword [edx + 4]
test ebp, ebp
je 0x4c0c19
mov edx, dword [edi + 0x64]
lea ecx, [edi + 0x64]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4bf343
cmp ebx, ebp
mov ebx, ebp
jae 0x4bf2db
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
jmp 0x4bf2ea
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4bf331
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bf324
cmp edx, 0x8f
jbe 0x4bf315
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bf32c
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bf331
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bf2f0
jmp 0x4bf3ce
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4bf3c7
cmp ebx, ebp
jae 0x4bf367
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
jmp 0x4bf371
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4bf3b8
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bf3ab
cmp edx, 0x8f
jbe 0x4bf39c
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bf3b3
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bf3b8
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bf377
jmp 0x4bf3ce
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4bf45b
cmp ebx, ebp
mov ebx, ebp
jae 0x4bf3ef
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
jmp 0x4bf402
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4bf449
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bf43c
cmp edx, 0x8f
jbe 0x4bf42d
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bf444
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bf449
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bf408
jmp 0x4bf4e3
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4bf4e0
cmp ebx, ebp
jae 0x4bf483
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
jmp 0x4bf489
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
nop
test esi, esi
jne 0x4bf4d1
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bf4c4
cmp edx, 0x8f
jbe 0x4bf4b5
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bf4cc
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bf4d1
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bf490
jmp 0x4bf4e3
mov ebp, dword [edx + 4]
mov ecx, dword [esp + 0x24]
add ecx, ecx
or ecx, ebp
cmp ecx, 3
ja case.default.0x4bf4f4
jmp dword [ecx*4 + 0x4c0d14]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x80000
and edx, 0x20000
or edx, ecx
shr edx, 0x11
mov dword [esp + 0x2c], edx
movzx ecx, byte [edx + 0x549188]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x40], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4bf5c3
cmp ebx, ebp
mov ebx, ebp
jae 0x4bf550
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
jmp 0x4bf563
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
mov dword [edx], ecx
lea esp, [esp]
test esi, esi
jne 0x4bf5b1
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bf5a4
cmp edx, 0x8f
jbe 0x4bf595
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bf5ac
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bf5b1
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bf570
jmp 0x4bf64a
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4bf647
cmp ebx, ebp
jae 0x4bf5eb
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x24]
jmp 0x4bf5f1
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x40]
mov dword [edx], ecx
test esi, esi
jne 0x4bf638
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bf62b
cmp edx, 0x8f
jbe 0x4bf61c
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bf633
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bf638
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bf5f7
jmp 0x4bf64a
mov ebp, dword [edx + 4]
mov ecx, dword [esp + 0x2c]
movzx ecx, byte [ecx + 0x549288]
xor ebp, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], ebp
je 0x4bf663
neg ecx
mov edx, dword [esp + 0x1c]
shl ebp, 0x13
or ebp, 0x10
mov dword [esp + 0x40], ebp
mov dword [edx], ecx
mov edx, dword [esp + 0x14]
or dword [edx - 4], 0x20
or dword [edx + 4], 8
mov ecx, dword [edi + 0x7c]
lea ecx, [ecx*4 + 8]
sub edx, ecx
mov ecx, dword [esp + 0x24]
shl ecx, 0x1f
or ecx, 0x10000
or dword [edx], ecx
or dword [edx - 4], 0x20000
or dword [edx + 4], 0x8000
mov edx, ebp
mov ecx, dword [edi + 0x6c]
shr edx, 3
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x24], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4bf753
cmp ebx, ebp
mov ebx, ebp
jae 0x4bf6e6
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
jmp 0x4bf6f9
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov dword [edx], ecx
nop
test esi, esi
jne 0x4bf741
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bf734
cmp edx, 0x8f
jbe 0x4bf725
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bf73c
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bf741
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bf700
jmp 0x4bf7da
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4bf7d7
cmp ebx, ebp
jae 0x4bf77b
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
jmp 0x4bf781
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x24]
mov dword [edx], ecx
test esi, esi
jne 0x4bf7c8
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bf7bb
cmp edx, 0x8f
jbe 0x4bf7ac
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bf7c3
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bf7c8
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bf787
jmp 0x4bf7da
mov ebp, dword [edx + 4]
test ebp, ebp
je 0x4bf9a7
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x400000
and edx, 0x100000
or edx, ecx
mov ecx, ebp
and ecx, 0x2000000
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x80000
shr edx, 4
or edx, ecx
and ebp, 0x550
shr edx, 0xc
or edx, ebp
shr edx, 3
mov dword [esp + 0x2c], edx
movzx ecx, byte [edx + 0x549188]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4bf8cf
cmp ebx, ebp
mov ebx, ebp
jae 0x4bf863
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
jmp 0x4bf872
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4bf8b9
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bf8ac
cmp edx, 0x8f
jbe 0x4bf89d
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bf8b4
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bf8b9
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bf878
mov edx, dword [esp + 0x24]
jmp 0x4bf95e
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4bf95b
cmp ebx, ebp
jae 0x4bf8f7
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
jmp 0x4bf901
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4bf948
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bf93b
cmp edx, 0x8f
jbe 0x4bf92c
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bf943
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bf948
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bf907
mov edx, dword [esp + 0x24]
jmp 0x4bf95e
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x2c]
movzx ecx, byte [ecx + 0x549288]
xor edx, ecx
mov ecx, dword [esp + 0x18]
je 0x4bf973
neg ecx
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
shl edx, 0x16
or edx, 0x80
mov dword [ebp + edi*4], ecx
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
or ecx, edx
mov dword [esp + 0x40], ecx
or dword [ebp - 4], 0x100
or dword [ebp + 4], 0x40
jmp 0x4bf9ab
mov ecx, dword [esp + 0x40]
mov edx, ecx
mov ecx, dword [edi + 0x6c]
shr edx, 6
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x24], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4bfa55
cmp ebx, ebp
mov ebx, ebp
jae 0x4bf9e9
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
jmp 0x4bf9fc
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov dword [edx], ecx
test esi, esi
jne 0x4bfa43
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bfa36
cmp edx, 0x8f
jbe 0x4bfa27
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bfa3e
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bfa43
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bfa02
jmp 0x4bfae3
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4bfae0
cmp ebx, ebp
jae 0x4bfa81
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
jmp 0x4bfa87
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x24]
mov dword [edx], ecx
lea ecx, [ecx]
test esi, esi
jne 0x4bfad1
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bfac4
cmp edx, 0x8f
jbe 0x4bfab5
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bfacc
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bfad1
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bfa90
jmp 0x4bfae3
mov ebp, dword [edx + 4]
test ebp, ebp
je 0x4bfcb3
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x2000000
and edx, 0x800000
or edx, ecx
mov ecx, ebp
and ecx, 0x10000000
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x400000
shr edx, 4
or edx, ecx
and ebp, 0x2a80
shr edx, 0xc
or edx, ebp
shr edx, 6
mov dword [esp + 0x2c], edx
movzx ecx, byte [edx + 0x549188]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4bfbd8
cmp ebx, ebp
mov ebx, ebp
jae 0x4bfb6c
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
jmp 0x4bfb7b
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4bfbc2
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bfbb5
cmp edx, 0x8f
jbe 0x4bfba6
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bfbbd
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bfbc2
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bfb81
mov edx, dword [esp + 0x24]
jmp 0x4bfc67
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4bfc64
cmp ebx, ebp
jae 0x4bfc00
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
jmp 0x4bfc0a
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4bfc51
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bfc44
cmp edx, 0x8f
jbe 0x4bfc35
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bfc4c
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bfc51
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bfc10
mov edx, dword [esp + 0x24]
jmp 0x4bfc67
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x2c]
movzx ecx, byte [ecx + 0x549288]
xor edx, ecx
mov ecx, dword [esp + 0x18]
je 0x4bfc7c
neg ecx
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
shl edx, 0x19
or edx, 0x400
mov dword [ebp + edi*8], ecx
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
or ecx, edx
mov dword [esp + 0x40], ecx
or dword [ebp - 4], 0x800
or dword [ebp + 4], 0x200
jmp 0x4bfcb7
mov ecx, dword [esp + 0x40]
mov edx, ecx
mov ecx, dword [edi + 0x6c]
shr edx, 9
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4bfd63
cmp ebx, ebp
mov ebx, ebp
jae 0x4bfcf5
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
jmp 0x4bfd08
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
mov edi, edi
test esi, esi
jne 0x4bfd51
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bfd44
cmp edx, 0x8f
jbe 0x4bfd35
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bfd4c
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bfd51
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bfd10
jmp 0x4bfdea
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4bfde7
cmp ebx, ebp
jae 0x4bfd8b
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
jmp 0x4bfd91
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4bfdd8
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bfdcb
cmp edx, 0x8f
jbe 0x4bfdbc
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bfdd3
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bfdd8
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bfd97
jmp 0x4bfdea
mov ebp, dword [edx + 4]
test ebp, ebp
je case.default.0x4bf4f4
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x10000000
and edx, 0x4000000
or edx, ecx
mov ecx, ebp
and ecx, 0x81ffffff
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x2000000
shr edx, 4
or edx, ecx
and ebp, 0x15400
shr edx, 0xc
or edx, ebp
shr edx, 9
mov dword [esp + 0x2c], edx
movzx ecx, byte [edx + 0x549188]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4bfedf
cmp ebx, ebp
mov ebx, ebp
jae 0x4bfe73
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
jmp 0x4bfe82
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4bfec9
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bfebc
cmp edx, 0x8f
jbe 0x4bfead
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bfec4
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bfec9
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bfe88
mov edx, dword [esp + 0x24]
jmp 0x4bff6e
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4bff6b
cmp ebx, ebp
jae 0x4bff07
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
jmp 0x4bff11
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4bff58
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4bff4b
cmp edx, 0x8f
jbe 0x4bff3c
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4bff53
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4bff58
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4bff17
mov edx, dword [esp + 0x24]
jmp 0x4bff6e
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x2c]
movzx ecx, byte [ecx + 0x549288]
xor edx, ecx
mov ecx, dword [esp + 0x18]
je 0x4bff83
neg ecx
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
mov dword [edi + ebp], ecx
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
or dword [ecx - 4], 0x4000
mov ecx, edx
shl ecx, 0x1c
or ecx, 0x2000
shl edx, 0x12
or ebp, ecx
or edx, 2
mov ecx, dword [esp + 0x14]
or dword [ecx + 4], 0x1000
mov ecx, dword [edi + 0x7c]
mov edi, dword [esp + 0x14]
or dword [edi + ecx*4 + 8], edx
mov edx, edi
mov edi, dword [esp + 0x3c]
or dword [edx + ecx*4 + 4], 4
or dword [edx + ecx*4 + 0xc], 1
and ebp, 0xb6dfffff
mov dword [edx], ebp
jmp 0x4c0c1d
test ebp, 0x200010
jne 0x4c0309
mov ecx, dword [edi + 0x6c]
mov edx, ebp
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4c009a
cmp ebx, ebp
mov ebx, ebp
jae 0x4c002e
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
jmp 0x4c0041
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4c0088
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c007b
cmp edx, 0x8f
jbe 0x4c006c
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c0083
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c0088
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c0047
jmp 0x4c0125
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4c0122
cmp ebx, ebp
jae 0x4c00c6
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
jmp 0x4c00cc
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4c0113
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c0106
cmp edx, 0x8f
jbe 0x4c00f7
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c010e
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c0113
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c00d2
jmp 0x4c0125
mov ebp, dword [edx + 4]
test ebp, ebp
mov ebp, dword [esp + 0x40]
je 0x4c0309
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x80000
and edx, 0x20000
or edx, ecx
mov ecx, ebp
and ecx, 0x400000
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x40000
shr edx, 2
or edx, ecx
and ebp, 0xaa
shr edx, 0xe
or edx, ebp
mov dword [esp + 0x2c], edx
movzx ecx, byte [edx + 0x549188]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4c0213
cmp ebx, ebp
mov ebx, ebp
jae 0x4c01a7
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
jmp 0x4c01ba
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4c0201
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c01f4
cmp edx, 0x8f
jbe 0x4c01e5
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c01fc
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c0201
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c01c0
jmp 0x4c02a3
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4c02a0
cmp ebx, ebp
jae 0x4c023f
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x24]
jmp 0x4c0245
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
jmp 0x4c0250
test esi, esi
jne 0x4c0291
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c0284
cmp edx, 0x8f
jbe 0x4c0275
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c028c
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c0291
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c0250
jmp 0x4c02a3
mov ebp, dword [edx + 4]
mov ecx, dword [esp + 0x2c]
movzx ecx, byte [ecx + 0x549288]
xor ebp, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], ebp
je 0x4c02bc
neg ecx
mov edx, dword [esp + 0x1c]
mov dword [edx], ecx
mov ecx, ebp
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
shl ecx, 0x13
or ecx, 0x10
or dword [edx - 4], 0x20
or ebp, ecx
or dword [edx + 4], 8
mov ecx, dword [edi + 0x7c]
mov dword [esp + 0x40], ebp
lea ecx, [ecx*4 + 8]
sub edx, ecx
mov ecx, dword [esp + 0x24]
shl ecx, 0x1f
or ecx, 0x10000
or dword [edx], ecx
or dword [edx - 4], 0x20000
or dword [edx + 4], 0x8000
test ebp, 0x1000080
jne 0x4c061e
mov ecx, dword [edi + 0x6c]
mov edx, ebp
shr edx, 3
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4c03c3
cmp ebx, ebp
mov ebx, ebp
jae 0x4c0353
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
jmp 0x4c0366
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
lea esp, [esp]
test esi, esi
jne 0x4c03b1
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c03a4
cmp edx, 0x8f
jbe 0x4c0395
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c03ac
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c03b1
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c0370
jmp 0x4c0453
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4c0450
cmp ebx, ebp
jae 0x4c03ef
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
jmp 0x4c03f5
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
jmp 0x4c0400
test esi, esi
jne 0x4c0441
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c0434
cmp edx, 0x8f
jbe 0x4c0425
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c043c
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c0441
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c0400
jmp 0x4c0453
mov ebp, dword [edx + 4]
test ebp, ebp
mov ebp, dword [esp + 0x40]
je 0x4c061e
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x400000
and edx, 0x100000
or edx, ecx
mov ecx, ebp
and ecx, 0x2000000
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x80000
shr edx, 4
or edx, ecx
and ebp, 0x550
shr edx, 0xc
or edx, ebp
shr edx, 3
mov dword [esp + 0x2c], edx
movzx ecx, byte [edx + 0x549188]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4c0548
cmp ebx, ebp
mov ebx, ebp
jae 0x4c04dc
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
jmp 0x4c04eb
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4c0532
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c0525
cmp edx, 0x8f
jbe 0x4c0516
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c052d
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c0532
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c04f1
mov edx, dword [esp + 0x24]
jmp 0x4c05d7
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4c05d4
cmp ebx, ebp
jae 0x4c0570
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
jmp 0x4c057a
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4c05c1
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c05b4
cmp edx, 0x8f
jbe 0x4c05a5
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c05bc
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c05c1
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c0580
mov edx, dword [esp + 0x24]
jmp 0x4c05d7
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x2c]
movzx ecx, byte [ecx + 0x549288]
xor edx, ecx
mov ecx, dword [esp + 0x18]
je 0x4c05ec
neg ecx
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
shl edx, 0x16
or edx, 0x80
mov dword [ebp + edi*4], ecx
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
or ebp, edx
mov dword [esp + 0x40], ebp
or dword [ecx - 4], 0x100
or dword [ecx + 4], 0x40
test ebp, 0x8000400
jne 0x4c0935
mov ecx, dword [edi + 0x6c]
mov edx, ebp
shr edx, 6
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4c06d4
cmp ebx, ebp
mov ebx, ebp
jae 0x4c0668
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
jmp 0x4c067b
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4c06c2
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c06b5
cmp edx, 0x8f
jbe 0x4c06a6
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c06bd
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c06c2
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c0681
jmp 0x4c0763
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4c0760
cmp ebx, ebp
jae 0x4c0700
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
jmp 0x4c0706
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
lea esp, [esp]
test esi, esi
jne 0x4c0751
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c0744
cmp edx, 0x8f
jbe 0x4c0735
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c074c
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c0751
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c0710
jmp 0x4c0763
mov ebp, dword [edx + 4]
test ebp, ebp
mov ebp, dword [esp + 0x40]
je 0x4c0935
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x2000000
and edx, 0x800000
or edx, ecx
mov ecx, ebp
and ecx, 0x10000000
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x400000
shr edx, 4
or edx, ecx
and ebp, 0x2a80
shr edx, 0xc
or edx, ebp
shr edx, 6
mov dword [esp + 0x2c], edx
movzx ecx, byte [edx + 0x549188]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4c0858
cmp ebx, ebp
mov ebx, ebp
jae 0x4c07ec
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
jmp 0x4c07fb
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4c0842
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c0835
cmp edx, 0x8f
jbe 0x4c0826
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c083d
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c0842
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c0801
mov edx, dword [esp + 0x24]
jmp 0x4c08e7
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4c08e4
cmp ebx, ebp
jae 0x4c0880
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
jmp 0x4c088a
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4c08d1
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c08c4
cmp edx, 0x8f
jbe 0x4c08b5
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c08cc
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c08d1
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c0890
mov edx, dword [esp + 0x24]
jmp 0x4c08e7
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x2c]
movzx ecx, byte [ecx + 0x549288]
xor edx, ecx
mov ecx, dword [esp + 0x18]
je 0x4c08fc
neg ecx
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
shl edx, 0x19
or edx, 0x400
mov dword [ebp + edi*8], ecx
mov ebp, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
or ebp, edx
mov edi, dword [esp + 0x3c]
mov edx, ecx
mov dword [esp + 0x40], ebp
or dword [ecx - 4], 0x800
or dword [edx + 4], 0x200
jmp 0x4c0939
mov edx, dword [esp + 0x14]
test ebp, 0x40002000
jne 0x4c0c0f
mov ecx, dword [edi + 0x6c]
mov edx, ebp
shr edx, 9
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4c09f3
cmp ebx, ebp
mov ebx, ebp
jae 0x4c0983
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
jmp 0x4c0996
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
lea esp, [esp]
test esi, esi
jne 0x4c09e1
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c09d4
cmp edx, 0x8f
jbe 0x4c09c5
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c09dc
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c09e1
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c09a0
jmp 0x4c0a83
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4c0a80
cmp ebx, ebp
jae 0x4c0a1f
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov ebp, dword [esp + 0x2c]
jmp 0x4c0a25
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
jmp 0x4c0a30
test esi, esi
jne 0x4c0a71
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c0a64
cmp edx, 0x8f
jbe 0x4c0a55
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c0a6c
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c0a71
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c0a30
jmp 0x4c0a83
mov ebp, dword [edx + 4]
test ebp, ebp
mov ebp, dword [esp + 0x40]
je 0x4c0c0b
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x10000000
and edx, 0x4000000
or edx, ecx
mov ecx, ebp
and ecx, 0x81ffffff
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x2000000
shr edx, 4
or edx, ecx
and ebp, 0x15400
shr edx, 0xc
or edx, ebp
shr edx, 9
mov dword [esp + 0x2c], edx
movzx ecx, byte [edx + 0x549188]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x4c0b78
cmp ebx, ebp
mov ebx, ebp
jae 0x4c0b0c
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
jmp 0x4c0b1b
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4c0b62
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c0b55
cmp edx, 0x8f
jbe 0x4c0b46
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c0b5d
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c0b62
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c0b21
mov edx, dword [esp + 0x24]
jmp 0x4bff6e
mov ecx, ebp
shl ecx, 0x10
sub eax, ecx
test ebx, 0x8000
jne 0x4bff6b
cmp ebx, ebp
jae 0x4c0ba0
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
jmp 0x4c0baa
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test esi, esi
jne 0x4c0bf1
mov ecx, dword [edi + 0x10]
movzx edx, byte [ecx + 1]
lea esi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x4c0be4
cmp edx, 0x8f
jbe 0x4c0bd5
add eax, 0xff00
inc dword [edi + 0xc]
jmp 0x4c0bec
shl edx, 9
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 7
jmp 0x4c0bf1
shl edx, 8
mov dword [edi + 0x10], esi
add eax, edx
mov esi, 8
add ebx, ebx
add eax, eax
dec esi
cmp ebx, 0x8000
jb 0x4c0bb0
mov edx, dword [esp + 0x24]
jmp 0x4bff6e
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
and ebp, 0xb6dfffff
mov dword [edx], ebp
jmp 0x4c0c1d
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x34]
add edx, 4
mov ecx, dword [esp + 0x1c]
inc ebp
add ecx, 4
mov dword [esp + 0x34], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
cmp ebp, dword [esp + 0x20]
jb 0x4bf184
mov ebp, dword [esp + 0x28]
jmp 0x4c0c4c
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x30]
add ebp, 4
mov dword [esp + 0x1c], ecx
add edx, 8
mov ecx, dword [edi + 0x80]
and ecx, 0xfffffffc
mov dword [esp + 0x28], ebp
mov dword [esp + 0x14], edx
cmp ebp, ecx
jb 0x4bf170
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
jmp 0x4c0c81
mov edx, dword [esp + 0x14]
mov dword [edi + 0x68], ebp
mov dword [edi], eax
mov dword [edi + 4], ebx
mov dword [edi + 8], esi
cmp ecx, dword [edi + 0x80]
jae 0x4c0d0a
mov ebp, dword [esp + 0x20]
test ebp, ebp
je 0x4c0d0a
mov ebx, dword [esp + 0x1c]
mov ecx, ebp
sub ebx, edx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x1c], ebx
mov eax, dword [edi + 0x80]
xor esi, esi
sub eax, dword [esp + 0x28]
je 0x4c0cf6
shl ebp, 2
add ebx, edx
push 0
push esi
push dword [esp + 0x20]
push ebx
push edx
push edi
call fcn.004c2960
mov eax, dword [edi + 0x80]
inc esi
sub eax, dword [esp + 0x40]
add esp, 0x18
mov edx, dword [esp + 0x14]
add ebx, ebp
cmp esi, eax
jb 0x4c0cc3
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
and dword [edx], 0xb6dfffff
add edx, 4
dec ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], ecx
jne 0x4c0cb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret