Function at 0x4bcca0
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x114
mov eax, ecx
mov dword [esp + 0xe0], edx
mov edx, dword [edx]
mov ecx, dword [esp + 0x130]
push ebx
mov ebx, dword [esp + 0x11c]
push ebp
mov dword [esp + 0xdc], eax
mov eax, dword [eax]
mov ebp, eax
mov ebx, dword [ebx]
shr ebp, 9
and ebp, 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0xbc], ebp
and eax, 1
xor ebp, 1
mov dword [esp + 0x60], 0
push esi
xor esi, esi
mov dword [esp + 0xc4], ebp
mov ebp, 0xfffffffe
mov dword [esp + 0xb4], esi
push edi
xor edi, edi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x60], esi
mov esi, ebp
shl eax, 0x1c
mov dword [esp + 0x54], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x24], esi
mov dword [esp + 0x80], eax
mov dword [esp + 0xb4], 0xff
movsd xmm2, qword [0x4f2f58]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x4c], esi
movzx esi, word [ebx]
test esi, esi
jne 0x4bcd8e
test edi, edi
je 0x4bcd8e
mov ebx, edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x14], ebx
movzx esi, word [ebx]
mov edi, dword [esp + 0x140]
mov ecx, dword [ecx + 0x34]
mov eax, dword [edi + 0x10]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x144]
add eax, 0xffffff38
test ecx, ecx
je 0x4bce7f
cmp edx, eax
ja 0x4c169b
mov eax, dword [esp + 0xa8]
cmp edx, eax
cmovae eax, edx
mov edx, eax
mov eax, dword [esp + 0x144]
mov ecx, edx
mov dword [esp + 0x10], edx
sub ecx, dword [esp + 0xa8]
sar ecx, 1
mov edx, dword [eax]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x4c1678
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x28]
mov dword [ecx], eax
test edx, edx
je 0x4bce5e
cmp edx, dword [esp + 0xac]
jbe 0x4bce72
mov eax, dword [esp + 0x10]
mov ebx, edx
sub eax, ebx
and eax, 0xfffffffe
push eax
push ebx
push dword [esp + 0xb4]
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [esp + 0xb8]
add esp, 0xc
mov edx, dword [esp + 0x10]
sub ebx, eax
movsd xmm2, qword [0x4f2f58]
and ebx, 0xfffffffe
mov ecx, dword [esp + 0x144]
sub edx, ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0xa8], edx
jmp 0x4bce88
mov edx, dword [esp + 0xac]
mov dword [esp + 0x10], edx
mov dword [esp + 0xa8], edx
jmp 0x4bce88
mov edx, dword [esp + 0x10]
mov dword [esp + 0xa8], edx
jmp 0x4bce88
cmp dword [edi + 0x24], eax
ja 0x4c169b
cmp dword [esp + 0x5c], 0
je 0x4bcf92
test esi, esi
je 0x4bcf92
cmp esi, 0x5c
jne 0x4bcec4
cmp word [ebx + 2], 0x45
jne 0x4bcec4
mov esi, dword [esp + 0x24]
add ebx, 2
mov ecx, edi
mov dword [esp + 0x5c], 0
mov edi, dword [esp + 0x38]
add ebx, 2
jmp 0x4bcd66
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4bcee9
test ecx, ecx
jne 0x4bcee1
sub ebx, dword [edi + 0x18]
sar ebx, 1
sub bx, word [eax + 8]
mov word [eax + 0xa], bx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x74], 0
test dword [esp + 0x44], 0x4000
je case.0x4bd18e.1
mov dword [edx], 0xff0070
xor ecx, ecx
mov dword [edx + 4], 0
sub ebx, dword [edi + 0x18]
sar ebx, 1
mov word [edx + 8], bx
mov word [edx + 0xa], cx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x74], edx
add edx, 0xc
mov dword [esp + 0x10], edx
mov bp, si
mov ecx, edx
and esi, 0xfc00
mov dword [esp + 0x28], ecx
mov word [esp + 0xcc], bp
mov edx, 1
cmp esi, 0xd800
jne 0x4be43e
mov ax, word [ebx + 2]
add ebx, 2
mov esi, 0xfc00
and ax, si
mov esi, 0xdc00
cmp ax, si
jne 0x4be43e
test byte [esp + 0x44], 1
mov edx, 2
mov dword [esp + 0x14], ebx
mov ax, word [ebx]
lea ebx, [ecx + 2]
mov word [esp + 0xce], ax
mov eax, 0
setne al
add eax, 0x1d
mov word [ecx], ax
jmp 0x4be464
cmp esi, 0x2a
je 0x4bd001
cmp esi, 0x2b
je 0x4bd001
cmp esi, 0x3f
je 0x4bd001
cmp esi, 0x7b
jne 0x4bcfb2
lea ecx, [ebx + 2]
call fcn.004ba490
test eax, eax
jne 0x4bd001
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x30], 0
test ecx, ecx
je 0x4bd009
mov edx, dword [esp + 0xb8]
mov eax, edx
dec edx
mov dword [esp + 0xb8], edx
xor edx, edx
mov dword [esp + 0x30], edx
test eax, eax
jg 0x4bd009
cmp dword [esp + 0x144], edx
jne 0x4bcff7
sub ebx, dword [edi + 0x18]
sar ebx, 1
sub bx, word [ecx + 8]
mov word [ecx + 0xa], bx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x74], edx
mov dword [esp + 0x30], edx
jmp 0x4bd009
mov dword [esp + 0x30], 1
mov edx, dword [esp + 0x44]
test dl, 8
je 0x4bd0c0
mov eax, 0xff
mov ecx, edi
cmp word [ebx], ax
ja 0x4bd02f
mov eax, dword [ecx + 0xc]
test byte [esi + eax], 1
jne 0x4c1198
cmp esi, 0x23
jne 0x4bd0c0
add ebx, 2
mov dword [esp + 0x14], ebx
movzx eax, word [ebx]
test ax, ax
je 0x4bd0ad
mov esi, ebx
mov edi, ebx
mov ebp, eax
nop dword [eax]
mov edx, dword [ecx + 0x60]
mov ecx, dword [ecx + 0x1c]
test edx, edx
je 0x4bd105
cmp esi, ecx
mov esi, dword [esp + 0x140]
jae 0x4bd085
push 1
add esi, 0x64
push esi
push ecx
mov ecx, ebx
call fcn.004cbf80
add esp, 0xc
test eax, eax
je 0x4bd088
mov eax, 1
jmp 0x4bd08a
add esi, 0x64
xor eax, eax
mov ecx, dword [esp + 0x140]
test eax, eax
je 0x4bd13e
mov eax, dword [esi]
lea ebx, [ebx + eax*2]
add ebx, 0xfffffffe
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x18]
cmp word [ebx], 0
jne 0x4c1198
mov edi, dword [esp + 0x140]
xor esi, esi
mov ecx, dword [esp + 0x30]
test edx, 0x4000
je 0x4bd17a
test ecx, ecx
jne 0x4bd17a
mov eax, dword [esp + 0x10]
mov dword [esp + 0x74], eax
mov dword [eax], 0xff0070
mov dword [eax + 4], ecx
sub ebx, dword [edi + 0x18]
sar ebx, 1
xor edx, edx
mov word [eax + 0xa], dx
lea edx, [eax + 0xc]
mov word [eax + 8], bx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], edx
jmp 0x4bd17e
mov esi, dword [esp + 0x140]
add esi, 0x64
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
mov ecx, dword [esp + 0x140]
ja 0x4bd13e
cmp bp, word [ecx + 0x68]
jne 0x4bd13e
cmp edx, 1
je 0x4bd099
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x6a]
je 0x4bd099
add ebx, 2
mov edx, 0xfc00
mov dword [esp + 0x14], ebx
mov esi, ebx
mov ax, word [ebx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4bd165
lea ebx, [esi + 2]
mov dword [esp + 0x14], ebx
mov esi, ebx
movzx eax, word [ebx]
mov edi, esi
mov ebp, eax
test ax, ax
jne 0x4bd050
jmp 0x4bd0a5
mov edx, dword [esp + 0x10]
cmp esi, 0x7c
ja case.0x4bd18e.1
movzx eax, byte [esi + 0x4c16f4]
jmp dword [eax*4 + 0x4c16c0]
test byte [esp + 0x44], 2
mov dword [esp + 0x28], 0
je 0x4bd1e1
mov eax, dword [esp + 0x24]
mov ecx, 0xffffffff
mov edi, dword [esp + 0x38]
cmp eax, 0xfffffffe
cmove eax, ecx
mov ecx, 0x1a
mov word [edx], cx
add edx, 2
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x140]
add ebx, 2
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], edx
jmp 0x4bcd66
mov esi, dword [esp + 0x24]
mov ecx, 0x19
mov edi, dword [esp + 0x38]
mov word [edx], cx
add edx, 2
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x140]
add ebx, 2
mov dword [esp + 0x10], edx
jmp 0x4bcd66
test byte [esp + 0x44], 2
mov eax, 0
mov ecx, dword [esp + 0x140]
mov esi, dword [esp + 0x24]
setne al
mov edi, dword [esp + 0x38]
add eax, 0x1b
mov word [edx], ax
add edx, 2
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x28], 0
add ebx, 2
mov dword [esp + 0x10], edx
jmp 0x4bcd66
mov esi, dword [esp + 0x24]
mov eax, 0xffffffff
mov ebp, dword [esp + 0x40]
cmp esi, 0xfffffffe
mov ecx, dword [esp + 0x140]
mov edi, dword [esp + 0x38]
cmove esi, eax
mov eax, dword [esp + 0x44]
shr eax, 2
and eax, 1
mov dword [esp + 0x28], edx
or eax, 0xc
mov dword [esp + 0x24], esi
mov word [edx], ax
add edx, 2
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x58], esi
add ebx, 2
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], edx
jmp 0x4bcd66
test dword [edi + 0x4c], 0x2000000
je case.0x4bd18e.1
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x40
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
movzx esi, word [ebx + 2]
mov dword [esp + 0x28], edx
cmp esi, 0x3a
je 0x4bd2e0
cmp esi, 0x2e
je 0x4bd2e0
cmp esi, 0x3d
jne 0x4bd2f3
lea edx, [esp + 0x78]
mov ecx, ebx
call fcn.004bbc50
test eax, eax
jne 0x4c1251
xor edx, edx
mov dword [esp + 0x30], edx
nop dword [eax]
add ebx, 2
mov dword [esp + 0x14], ebx
movzx ecx, word [ebx]
mov dword [esp + 0x34], ecx
cmp ecx, 0x5c
jne 0x4bd34f
cmp word [ebx + 2], 0x45
lea esi, [ebx + 2]
jne 0x4bd321
mov ebx, esi
jmp 0x4bd300
mov edx, 3
mov edi, 0x4f2e28
nop dword [eax + eax]
movzx ecx, word [esi]
lea esi, [esi + 2]
movzx eax, byte [edi]
lea edi, [edi + 1]
dec edx
cmp cx, ax
jne 0x4bd35d
test edx, edx
jne 0x4bd330
mov edx, dword [esp + 0x30]
add ebx, 6
jmp 0x4bd300
test edx, edx
jne 0x4bd365
cmp ecx, 0x5e
jne 0x4bd365
lea edx, [ecx - 0x5d]
jmp 0x4bd2f5
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
cmp ecx, 0x5d
jne 0x4bd3c5
mov eax, dword [esp + 0x140]
test dword [eax + 0x4c], 0x2000000
je 0x4bd3c5
mov esi, dword [esp + 0x24]
test edx, edx
mov edx, dword [esp + 0x10]
mov ecx, 0xd
mov edi, dword [esp + 0x38]
mov eax, 0x97
cmovne eax, ecx
mov ecx, dword [esp + 0x140]
mov word [edx], ax
add edx, 2
mov ebx, dword [esp + 0x14]
cmp esi, 0xfffffffe
mov eax, 0xffffffff
mov dword [esp + 0x10], edx
cmove esi, eax
add ebx, 2
mov dword [esp + 0x24], esi
mov dword [esp + 0x58], esi
jmp 0x4bcd66
xor edx, edx
xor ebp, ebp
mov dword [esp + 0x3c], edx
xor edi, edi
mov dword [esp + 0x18], edx
xorps xmm0, xmm0
mov edx, dword [esp + 0x10]
add edx, 6
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x64], edx
movups xmmword [esp + 0x84], xmm0
movups xmmword [esp + 0x94], xmm0
test ecx, ecx
je 0x4c122e
mov eax, ecx
mov dword [esp + 0x4c], edi
and eax, 0xfc00
mov dword [esp + 0x50], ebp
mov esi, ebp
cmp eax, 0xd800
jne 0x4bd457
movzx ecx, word [ebx]
mov eax, ecx
mov dword [esp + 0x34], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4bd457
movzx eax, word [ebx + 2]
add ebx, 2
and ecx, 0x3ff
mov dword [esp + 0x14], ebx
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x144], 0
je 0x4bd47c
sub edx, dword [esp + 0x64]
mov edi, dword [esp + 0x144]
sar edx, 1
add dword [edi], edx
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
cmp dword [esp + 0x5c], 0
je 0x4bd4a7
cmp ecx, 0x5c
jne 0x4bdb82
cmp word [ebx + 2], 0x45
jne 0x4bdb82
mov dword [esp + 0x5c], 0
add ebx, 2
jmp 0x4bd5bc
cmp ecx, 0x5b
jne 0x4bd742
movzx esi, word [ebx + 2]
cmp esi, 0x3a
je 0x4bd4c7
cmp esi, 0x2e
je 0x4bd4c7
cmp esi, 0x3d
jne 0x4bdb82
lea edx, [esp + 0x78]
mov ecx, ebx
call fcn.004bbc50
test eax, eax
je 0x4bdb7e
mov dword [esp + 0x58], 0
cmp esi, 0x3a
jne 0x4c11ac
add ebx, 4
mov dword [esp + 0x14], ebx
mov eax, ebx
cmp word [ebx], 0x5e
jne 0x4bd513
add ebx, 2
mov dword [esp + 0x58], 1
mov dword [esp + 0x3c], 1
mov eax, ebx
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x78]
mov edi, str.alpha
sub ecx, eax
mov dword [esp + 0x34], edi
sar ecx, 1
mov al, 5
xor edx, edx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x50], edx
movzx ebp, al
cmp ecx, ebp
jne 0x4bd61d
mov edx, ecx
mov esi, ebx
test ecx, ecx
je 0x4bd55d
movzx ecx, word [esi]
lea esi, [esi + 2]
movzx eax, byte [edi]
lea edi, [edi + 1]
dec edx
cmp cx, ax
jne 0x4bd611
test edx, edx
jne 0x4bd543
mov ecx, dword [esp + 0x50]
test ecx, ecx
js 0x4bd637
mov eax, dword [esp + 0x44]
test al, 1
je 0x4bd579
xor edx, edx
cmp ecx, 2
cmovle ecx, edx
mov edi, dword [esp + 0x58]
test eax, 0x20000000
je 0x4bd65a
mov eax, edi
neg eax
sbb eax, eax
and eax, 0xe
add eax, ecx
mov ebx, dword [eax*4 + 0x4d3380]
test ebx, ebx
je 0x4bd65a
mov edx, dword [esp + 0x78]
add edx, 2
add ebx, 0xfffffffe
mov dword [esp + 0x38], edx
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
add ebx, 2
mov dword [esp + 0x14], ebx
movzx ecx, word [ebx]
mov dword [esp + 0x34], ecx
test ecx, ecx
jne 0x4bd5f8
test eax, eax
je 0x4be4bd
lea ebx, [eax + 2]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], ebx
movzx ecx, word [ebx]
mov dword [esp + 0x34], ecx
test ecx, ecx
je 0x4c122e
cmp ecx, 0x5d
jne 0x4bd405
cmp dword [esp + 0x5c], 0
jne 0x4bd405
jmp 0x4be4c5
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x34]
mov al, byte [edx + 0x4d42e5]
inc edx
inc edi
mov dword [esp + 0x50], edx
add edi, ebp
mov dword [esp + 0x34], edi
test al, al
jne 0x4bd530
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x1e
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov ebx, dword [esp + 0x140]
lea ecx, [ecx + ecx*2]
mov eax, dword [ecx*4 + 0x4d4128]
mov esi, dword [ecx*4 + 0x4d4130]
mov edx, dword [ebx + 8]
movups xmm0, xmmword [eax + edx]
movups xmmword [esp + 0xf4], xmm0
movups xmm0, xmmword [eax + edx + 0x10]
mov eax, dword [ecx*4 + 0x4d412c]
movups xmmword [esp + 0x104], xmm0
test eax, eax
js 0x4bd6c5
xor ecx, ecx
add edx, eax
test esi, esi
js 0x4bd6b3
mov al, byte [edx + ecx]
or byte [esp + ecx + 0xf4], al
inc ecx
cmp ecx, 0x20
jl 0x4bd6a1
jmp 0x4bd6c5
mov al, byte [edx + ecx]
not al
and byte [esp + ecx + 0xf4], al
inc ecx
cmp ecx, 0x20
jl 0x4bd6b3
mov eax, esi
neg eax
test esi, esi
cmovns eax, esi
cmp eax, 1
jne 0x4bd6dd
and byte [esp + 0xf5], 0xc3
jmp 0x4bd6ea
cmp eax, 2
jne 0x4bd6ea
and byte [esp + 0xff], 0x7f
xor ecx, ecx
test edi, edi
je 0x4bd710
mov al, byte [esp + ecx + 0xf4]
not al
or byte [esp + ecx + 0x84], al
inc ecx
cmp ecx, 0x20
jl 0x4bd6f0
jmp 0x4bd724
mov al, byte [esp + ecx + 0xf4]
or byte [esp + ecx + 0x84], al
inc ecx
cmp ecx, 0x20
jl 0x4bd710
mov ebx, dword [esp + 0x78]
mov ebp, 1
mov edi, 2
mov dword [esp + 0x2c], ebp
add ebx, 2
mov dword [esp + 0x1c], edi
jmp 0x4bd5b8
cmp ecx, 0x5c
jne 0x4bdb82
mov ebx, dword [esp + 0x140]
lea ecx, [esp + 0x14]
mov edx, dword [esp + 0x12c]
push 1
push dword [esp + 0x48]
push dword [ebx + 0x38]
call fcn.004ba530
mov ecx, eax
add esp, 0xc
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x34], ecx
cmp dword [eax], 0
jne 0x4c11f8
cmp ecx, 0xfffffffb
jne 0x4bd79b
mov ecx, 8
mov dword [esp + 0x34], ecx
mov ebx, dword [esp + 0x14]
jmp 0x4bdb82
cmp ecx, 0xfffffff4
je 0x4c11f2
cmp ecx, 0xffffffe6
jne 0x4bd7d0
mov ebx, dword [esp + 0x14]
cmp word [ebx + 2], 0x5c
jne 0x4bd7c3
cmp word [ebx + 4], 0x45
jne 0x4bd7c3
add ebx, 4
jmp 0x4bd5b8
mov dword [esp + 0x5c], 1
jmp 0x4bd5b8
cmp ecx, 0xffffffe7
je 0x4be363
test ecx, ecx
jns 0x4bd792
mov edx, dword [ebx + 8]
mov eax, 0xfffffffa
inc ebp
add edi, 2
sub eax, ecx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], edi
cmp eax, 0x1c
ja case.0x4bd803.6
movzx eax, byte [eax + 0x4c17a8]
jmp dword [eax*4 + 0x4c1774]
mov eax, dword [esp + 0x14]
mov ebp, esi
mov dword [esp + 0x38], eax
lea eax, [ecx*4 + 0x74]
mov ecx, 0x4d3364
mov dword [esp + 0x2c], ebp
sub ecx, eax
mov ebx, dword [ecx]
sub ebx, 2
jmp 0x4bd5b8
xor ecx, ecx
mov al, byte [edx + ecx + 0x40]
or byte [esp + ecx + 0x84], al
inc ecx
cmp ecx, 0x20
jl 0x4bd832
mov ebx, dword [esp + 0x14]
jmp 0x4bd5b8
mov dword [esp + 0x3c], 1
xor ecx, ecx
nop word [eax + eax]
mov al, byte [edx + ecx + 0x40]
not al
or byte [esp + ecx + 0x84], al
inc ecx
cmp ecx, 0x20
jl 0x4bd860
mov ebx, dword [esp + 0x14]
jmp 0x4bd5b8
xor ecx, ecx
nop
mov al, byte [edx + ecx + 0xa0]
or byte [esp + ecx + 0x84], al
inc ecx
cmp ecx, 0x20
jl 0x4bd880
mov ebx, dword [esp + 0x14]
jmp 0x4bd5b8
mov dword [esp + 0x3c], 1
xor ecx, ecx
nop word [eax + eax]
mov al, byte [edx + ecx + 0xa0]
not al
or byte [esp + ecx + 0x84], al
inc ecx
cmp ecx, 0x20
jl 0x4bd8b0
mov ebx, dword [esp + 0x14]
jmp 0x4bd5b8
movzx eax, byte [edx]
mov ecx, 2
or byte [esp + 0x84], al
movzx eax, byte [edx + 1]
and al, 0xf7
or byte [esp + 0x85], al
nop dword [eax + eax]
mov al, byte [edx + ecx]
or byte [esp + ecx + 0x84], al
inc ecx
cmp ecx, 0x20
jl 0x4bd8f0
mov ebx, dword [esp + 0x14]
jmp 0x4bd5b8
lea eax, [esp + 0x84]
mov dword [esp + 0x3c], 1
xor esi, esi
sub edx, eax
nop dword [eax]
lea ecx, [esp + 0x84]
add ecx, esi
inc esi
mov al, byte [edx + ecx]
not al
or byte [ecx], al
cmp esi, 0x20
jl 0x4bd920
or byte [esp + 0x85], 8
mov ebx, dword [esp + 0x14]
jmp 0x4bd5b8
mov edx, dword [esp + 0x20]
mov eax, 0x3000
or byte [esp + 0x85], 2
mov esi, 1
or byte [esp + 0x88], 1
or byte [esp + 0x98], 1
mov dword [edx], 0x16800001
mov dword [edx + 4], 0x180e0001
mov dword [edx + 8], 0x20000002
mov dword [edx + 0xc], 0x1200a
mov dword [edx + 0x10], 0x1202f
mov dword [edx + 0x14], 0x1205f
mov word [edx + 0x18], ax
add edx, 0x1a
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], edx
jmp 0x4bd5c0
xor edx, edx
mov eax, edx
mov ecx, 0xff
sub eax, 1
je 0x4bd9cd
sub eax, 3
je 0x4bd9c6
sub eax, 0x10
jne 0x4bd9d2
mov ecx, 0xfe
jmp 0x4bd9d2
mov ecx, 0xfd
or byte [esp + edx + 0x84], cl
inc edx
cmp edx, 0x20
jl 0x4bd9b0
mov edx, dword [esp + 0x20]
mov esi, 1
mov dword [esp + 0x18], esi
mov dword [edx], 0x1000002
mov dword [edx + 4], 0x2167f
mov dword [edx + 8], 0x180d1681
mov dword [edx + 0xc], 0x180f0002
mov dword [edx + 0x10], 0x21fff
mov dword [edx + 0x14], 0x202e200b
mov dword [edx + 0x18], 0x20300002
mov dword [edx + 0x1c], 0x2205e
mov dword [edx + 0x20], 0x2fff2060
mov dword [edx + 0x24], 0x30010002
mov dword [edx + 0x28], 0xdfffdbff
add edx, 0x2c
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
jmp 0x4bd5c0
mov edx, dword [esp + 0x20]
mov eax, 0x2029
or byte [esp + 0x85], 0x3c
mov esi, 1
or byte [esp + 0x94], 0x20
mov dword [esp + 0x18], esi
mov dword [edx], 0x20280002
mov word [edx + 4], ax
add edx, 6
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
jmp 0x4bd5c0
xor ecx, ecx
mov eax, ecx
mov edx, 0xff
sub eax, 1
je 0x4bda9e
sub eax, 0xf
jne 0x4bdaa3
mov edx, 0xdf
jmp 0x4bdaa3
mov edx, 0xc3
or byte [esp + ecx + 0x84], dl
inc ecx
cmp ecx, 0x20
jl 0x4bda86
mov edx, dword [esp + 0x20]
mov eax, 0xdfff
mov esi, 1
mov dword [esp + 0x18], esi
mov dword [edx], 0x1000002
mov dword [edx + 4], 0x22027
mov dword [edx + 8], 0xdbff202a
mov word [edx + 0xc], ax
add edx, 0xe
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
jmp 0x4bd5c0
push dword [esp + 0x12c]
lea eax, [esp + 0xe4]
push eax
lea edx, [esp + 0xe4]
lea ecx, [esp + 0x1c]
call fcn.004bac00
add esp, 8
test eax, eax
js 0x4c11f8
mov edx, dword [esp + 0x20]
xor ecx, ecx
cmp dword [esp + 0x34], 0xfffffff0
mov ebp, esi
mov dword [esp + 0x18], 1
mov esi, 1
sete cl
mov dword [esp + 0x2c], ebp
sub ecx, dword [esp + 0xdc]
neg ecx
sbb ecx, ecx
add ecx, 4
mov word [edx], cx
mov word [edx + 2], ax
mov ax, word [esp + 0xe0]
mov word [edx + 4], ax
add edx, 6
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
jmp 0x4bd5c0
test byte [esp + 0x44], 0x40
mov ebx, dword [esp + 0x14]
jne 0x4c11cf
movzx ecx, word [ebx]
mov dword [esp + 0x34], ecx
jmp 0x4bdb82
mov ecx, dword [esp + 0x34]
cmp word [ebx + 2], 0x5c
jne 0x4bdbaf
nop dword [eax]
cmp word [ebx + 4], 0x45
lea eax, [ebx + 4]
jne 0x4bdbaf
mov ebx, eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x14], ebx
cmp word [eax + 2], 0x5c
je 0x4bdb90
mov ebp, ebx
mov dword [esp + 0x70], ebp
cmp ecx, 0xd
je 0x4bdbbf
cmp ecx, 0xa
jne 0x4bdbcd
mov eax, dword [esp + 0x140]
or dword [eax + 0x50], 0x800
cmp dword [esp + 0x5c], 0
jne 0x4bdcae
cmp word [ebp + 2], 0x2d
jne 0x4bdcae
lea ebx, [ebp + 4]
mov dword [esp + 0x14], ebx
mov edx, ebx
movzx eax, word [ebx]
mov dword [esp + 0x58], ebx
mov esi, eax
cmp eax, 0x5c
jne 0x4bdc2d
mov edi, eax
mov ebp, ebx
mov eax, ebx
cmp word [eax + 2], 0x45
movzx esi, di
jne 0x4bdc25
lea ebx, [ebp + 4]
mov dword [esp + 0x14], ebx
mov edx, ebx
movzx eax, word [ebx]
mov ebp, ebx
mov ecx, eax
mov esi, eax
mov edi, ecx
mov eax, ebx
cmp ecx, 0x5c
je 0x4bdc00
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x58], ebx
movzx eax, si
cmp si, 0x5c
jne 0x4bdc89
movzx esi, si
nop dword [eax]
cmp word [ebx + 2], 0x51
movzx eax, si
jne 0x4bdd88
lea ebx, [edx + 4]
mov dword [esp + 0x14], ebx
movzx eax, word [ebx]
mov dword [esp + 0x58], ebx
cmp eax, 0x5c
jne 0x4bdd7a
cmp word [ebx + 2], 0x45
jne 0x4bdd7a
lea edx, [ebx + 4]
mov ebx, edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x58], ebx
movzx ecx, word [ebx]
mov eax, ecx
mov esi, ecx
cmp eax, 0x5c
je 0x4bdc40
mov edx, dword [esp + 0x5c]
test ax, ax
je 0x4bdca4
test edx, edx
jne 0x4bdd8c
cmp ax, 0x5d
jne 0x4bdd8c
mov ecx, dword [esp + 0x34]
mov ebx, ebp
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x4c]
cmp eax, 2
lea edi, [eax + 1]
cmovge edi, eax
cmp edi, 1
jne 0x4bdce2
cmp word [ebx + 2], 0x5d
lea eax, [ebx + 2]
jne 0x4bdce2
mov edx, dword [esp + 0x30]
test edx, edx
je 0x4be376
cmp ecx, 0x10000
jl 0x4be376
mov esi, dword [esp + 0x44]
and esi, 1
cmp ecx, 0xff
jg 0x4be205
test esi, esi
je 0x4bdd02
cmp ecx, 0x7f
jg 0x4be205
mov dword [esp + 0x2c], 1
mov edx, ecx
test edx, edx
jns 0x4bdd13
add edx, 7
sar edx, 3
mov ebp, dword [esp + 0x34]
mov eax, ebp
movzx ecx, byte [esp + edx + 0x84]
and eax, 7
bts ecx, eax
mov dword [esp + 0x1c], edi
test esi, esi
mov byte [esp + edx + 0x84], cl
mov esi, dword [esp + 0x18]
je 0x4be1f4
mov eax, dword [esp + 0x140]
mov dword [esp + 0x1c], edi
mov eax, dword [eax + 4]
movzx edx, byte [eax + ebp]
mov ebp, dword [esp + 0x2c]
mov ecx, edx
shr ecx, 3
and edx, 7
movzx eax, byte [esp + ecx + 0x84]
bts eax, edx
mov edx, dword [esp + 0x20]
mov byte [esp + ecx + 0x84], al
jmp 0x4bd5c0
mov edx, 1
mov dword [esp + 0x5c], edx
jmp 0x4bdc8d
mov edx, dword [esp + 0x5c]
movzx ecx, ax
mov eax, ecx
mov dword [esp + 0x1c], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4bddca
movzx eax, word [ebx + 2]
add ebx, 2
and ecx, 0x3ff
mov dword [esp + 0x58], ebx
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [esp + 0x14], ebx
add ecx, 0x10000
mov dword [esp + 0x1c], ecx
mov esi, dword [esp + 0x140]
mov edi, dword [esp + 0x12c]
test edx, edx
jne 0x4bde29
cmp ecx, 0x5c
jne 0x4bde29
push 1
push dword [esp + 0x48]
mov edx, edi
lea ecx, [esp + 0x1c]
push dword [esi + 0x38]
call fcn.004ba530
add esp, 0xc
mov ecx, eax
cmp dword [edi], 0
mov dword [esp + 0x1c], ecx
jne 0x4c11f8
test ecx, ecx
jns 0x4bde21
cmp ecx, 0xfffffffb
jne 0x4bdca4
mov ebx, dword [esp + 0x14]
lea ebp, [eax + 0xd]
mov dword [esp + 0x58], ebx
jmp 0x4bde2d
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x58], ebx
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
cmp ebp, ecx
jl 0x4c1212
je 0x4bdcae
cmp ebp, 0xd
je 0x4bde49
cmp ebp, 0xa
jne 0x4bde50
or dword [esi + 0x50], 0x800
mov edi, 2
mov dword [esp + 0x1c], edi
cmp ebp, 0xff
jg 0x4bdf06
mov esi, dword [esp + 0x44]
and esi, 1
je 0x4bde80
cmp ebp, 0x7f
jle 0x4bde80
mov dword [esp + 0x18], 1
jmp 0x4bdf16
cmp dword [esp + 0x144], 0
mov dword [esp + 0x2c], 1
jne 0x4be36c
cmp ecx, ebp
jg 0x4bd5b4
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x140]
nop dword [eax]
mov edx, ebx
test edx, edx
jns 0x4bdeb9
add edx, 7
sar edx, 3
movzx ecx, byte [esp + edx + 0x84]
mov eax, ebx
and eax, 7
bts ecx, eax
mov byte [esp + edx + 0x84], cl
test esi, esi
je 0x4bdef8
mov eax, dword [edi + 4]
movzx edx, byte [eax + ebx]
mov ecx, edx
and edx, 7
shr ecx, 3
movzx eax, byte [esp + ecx + 0x84]
bts eax, edx
mov byte [esp + ecx + 0x84], al
inc ebx
cmp ebx, ebp
jle 0x4bdeb0
mov ebx, dword [esp + 0x58]
jmp 0x4bd5b0
test byte [esp + 0x44], 1
mov esi, 1
mov dword [esp + 0x18], esi
je 0x4bdf66
mov ebx, ebp
mov esi, ecx
mov dword [esp + 0x70], ebx
nop
mov edx, esi
cmp esi, ebx
ja 0x4bdf5e
mov eax, edx
lea esi, [edx + 1]
shr eax, 7
movzx ecx, byte [eax + 0x4e1180]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d47a0]
mov edi, dword [eax*8 + 0x4e00a4]
add edi, edx
cmp edi, edx
jne 0x4bdfcb
mov edx, esi
cmp edx, ebx
jbe 0x4bdf26
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov eax, 2
mov word [edx], ax
add edx, eax
mov eax, ecx
and eax, 0xf800
cmp eax, 0xd800
je 0x4be164
cmp ecx, 0x110000
jae 0x4be164
cmp ecx, 0xffff
jbe 0x4be169
add ecx, 0xffff0000
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [edx], ax
mov eax, 4
mov word [edx + 2], cx
jmp 0x4be171
lea edx, [edi + 1]
cmp esi, ebx
ja 0x4be003
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4e1180]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d47a0]
mov eax, dword [eax*8 + 0x4e00a4]
add eax, esi
cmp eax, edx
jne 0x4be003
inc esi
inc edx
cmp esi, ebx
jbe 0x4bdfd2
mov eax, dword [esp + 0x5c]
dec edx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
cmp edi, ecx
jb 0x4be026
cmp edx, ebp
jbe 0x4bdf20
jmp 0x4be04c
lea eax, [ecx - 1]
cmp edx, eax
jb 0x4be048
mov eax, dword [esp + 0x18]
mov ecx, edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x5c], eax
jmp 0x4bdf20
cmp edx, ebp
jbe 0x4be06a
lea eax, [ebp + 1]
cmp edi, eax
ja 0x4be06a
mov eax, dword [esp + 0x18]
mov ebp, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x5c], eax
jmp 0x4bdf20
mov ecx, dword [esp + 0x20]
cmp edi, edx
jne 0x4be07f
mov edi, 1
mov word [ecx], di
lea edi, [ecx + 2]
jmp 0x4be0f0
mov ebx, 2
mov eax, edi
mov word [ecx], bx
and eax, 0xf800
add ecx, ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x20], ecx
cmp eax, 0xd800
je 0x4be0dd
cmp edi, 0x110000
jae 0x4be0dd
cmp edi, 0xffff
jbe 0x4be0e2
lea ecx, [edi - 0x10000]
mov edi, dword [esp + 0x20]
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [edi], ax
mov eax, 4
mov word [edi + 2], cx
jmp 0x4be0ee
mov edi, 0xfffe
mov word [ecx], di
mov eax, 2
mov edi, dword [esp + 0x20]
add edi, eax
mov eax, edx
and eax, 0xf800
cmp eax, 0xd800
je 0x4be138
cmp edx, 0x110000
jae 0x4be138
cmp edx, 0xffff
jbe 0x4be13d
lea ecx, [edx - 0x10000]
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [edi], ax
mov eax, 4
mov word [edi + 2], cx
jmp 0x4be145
mov edx, 0xfffe
mov word [edi], dx
mov eax, 2
mov ecx, dword [esp + 0x34]
add edi, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x20], edi
mov dword [esp + 0x5c], eax
jmp 0x4bdf20
mov ecx, 0xfffe
mov word [edx], cx
mov eax, 2
add edx, eax
mov eax, ebp
and eax, 0xf800
cmp eax, 0xd800
je 0x4be1d0
cmp ebp, 0x110000
jae 0x4be1d0
cmp ebp, 0xffff
jbe 0x4be1d5
lea ecx, [ebp - 0x10000]
mov ebp, dword [esp + 0x50]
mov eax, ecx
mov dword [esp + 0x2c], ebp
shr eax, 0xa
and ecx, 0x3ff
or eax, 0xd800
or ecx, 0xdc00
mov word [edx], ax
mov eax, 4
mov word [edx + 2], cx
add edx, eax
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
jmp 0x4bd5c0
mov ebp, 0xfffe
mov word [edx], bp
mov eax, 2
mov ebp, dword [esp + 0x50]
add edx, eax
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], ebp
jmp 0x4bd5c0
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x4bd5c0
mov edx, dword [esp + 0x20]
mov eax, 1
mov dword [esp + 0x18], 1
mov word [edx], ax
mov eax, ecx
and eax, 0xf800
add edx, 2
cmp eax, 0xd800
je 0x4be26a
cmp ecx, 0x110000
jae 0x4be26a
mov eax, ecx
cmp ecx, 0xffff
jbe 0x4be26f
add ecx, 0xffff0000
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [edx], ax
mov eax, 4
mov word [edx + 2], cx
mov ecx, dword [esp + 0x34]
jmp 0x4be277
mov eax, 0xfffe
mov word [edx], ax
mov eax, 2
mov ebx, dword [esp + 0x50]
add edx, eax
mov dword [esp + 0x1c], edi
mov ebp, ebx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x20], edx
test esi, esi
je 0x4be35f
mov eax, ecx
test eax, eax
jns 0x4be29c
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4e1180]
mov ebp, dword [esp + 0x34]
mov eax, ebp
shl ecx, 7
and eax, 0x8000007f
jns 0x4be2bb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edx
movzx eax, word [ecx*2 + 0x4d47a0]
mov ecx, dword [eax*8 + 0x4e00a4]
add ecx, ebp
cmp ecx, ebp
je 0x4be35b
mov eax, 1
mov word [edx], ax
mov eax, ecx
and eax, 0xf800
add edx, 2
cmp eax, 0xd800
je 0x4be335
cmp ecx, 0x110000
jae 0x4be335
cmp ecx, 0xffff
jbe 0x4be33a
add ecx, 0xffff0000
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [edx], ax
mov eax, 4
mov word [edx + 2], cx
jmp 0x4be342
mov ecx, 0xfffe
mov word [edx], cx
mov eax, 2
mov ebp, ebx
mov dword [esp + 0x1c], edi
mov ebx, dword [esp + 0x14]
add edx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], ebp
jmp 0x4bd5bc
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
jmp 0x4bd5b8
mov ebp, 1
jmp 0x4bd5b8
mov dword [esp + 0x14], eax
test edx, edx
je 0x4be3d8
mov esi, dword [esp + 0x24]
mov eax, 0xffffffff
mov edx, dword [esp + 0x10]
cmp esi, 0xfffffffe
mov edi, dword [esp + 0x40]
cmove esi, eax
test byte [esp + 0x44], 1
mov eax, 0
mov dword [esp + 0x24], esi
setne al
mov dword [esp + 0x58], esi
add eax, 0x1f
mov word [edx], ax
mov word [edx + 2], cx
add edx, 4
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x14]
mov ebp, edi
mov ecx, dword [esp + 0x140]
add ebx, 2
mov edi, dword [esp + 0x38]
mov dword [esp + 0x18], ebp
jmp 0x4bcd66
cmp ecx, 0xffff
jle 0x4be4ab
mov eax, ecx
and eax, 0xf800
cmp eax, 0xd800
je 0x4be4a6
cmp ecx, 0x110000
jae 0x4be4a6
cmp ecx, 0xffff
jbe 0x4be4ab
lea eax, [ecx - 0x10000]
mov ebp, eax
and eax, 0x3ff
shr ebp, 0xa
or ebp, 0xd800
or eax, 0xdc00
mov word [esp + 0xcc], bp
mov word [esp + 0xce], ax
mov edx, 2
mov ebx, dword [esp + 0x10]
mov eax, 0
test byte [esp + 0x44], 1
mov dword [esp + 0x28], ebx
setne al
add eax, 0x1d
mov word [ebx], ax
add ebx, 2
mov dword [esp + 0x10], ebx
test edx, edx
je 0x4be483
lea eax, [edx + edx]
mov edi, ebx
mov ecx, eax
lea esi, [esp + 0xcc]
shr ecx, 1
shr ecx, 1
rep movsd dword es:[edi], dword [esi]
adc ecx, ecx
add ebx, eax
rep movsw word es:[edi], word [esi]
mov dword [esp + 0x10], ebx
cmp bp, 0xd
je 0x4be493
cmp bp, 0xa
jne 0x4c108d
mov ecx, dword [esp + 0x140]
or dword [ecx + 0x50], 0x800
jmp 0x4c1094
mov ecx, 0xfffe
mov bp, cx
mov edx, 1
mov word [esp + 0xcc], bp
jmp 0x4be43e
test ecx, ecx
je 0x4c122e
mov eax, dword [esp + 0x24]
mov ecx, 0xffffffff
mov edi, dword [esp + 0x40]
cmp eax, 0xfffffffe
mov edx, dword [esp + 0x3c]
cmove eax, ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x58], eax
test esi, esi
je 0x4be5a0
test edx, edx
je 0x4be502
test dword [esp + 0x44], 0x20000000
je 0x4be5a0
mov esi, dword [esp + 0x20]
xor eax, eax
mov ebx, dword [esp + 0x10]
mov word [esi], ax
mov eax, 0x6c
mov word [ebx], ax
add esi, 2
xor eax, eax
cmp dword [esp + 0x30], eax
setne al
movzx eax, ax
mov word [ebx + 4], ax
test ebp, ebp
jle 0x4be56d
or eax, 2
mov word [ebx + 4], ax
add ebx, 6
mov eax, esi
sub eax, ebx
and eax, 0xfffffffe
push eax
lea eax, [ebx + 0x20]
push ebx
push eax
call sub.VCRUNTIME140.dll_memmove
movups xmm0, xmmword [esp + 0x90]
lea edx, [esi + 0x20]
add esp, 0xc
mov dword [esp + 0x10], edx
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esp + 0x94]
movups xmmword [ebx + 0x10], xmm0
jmp 0x4be573
mov edx, esi
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x28]
mov eax, edx
mov ebp, dword [esp + 0x18]
sub eax, edi
mov ecx, dword [esp + 0x140]
mov esi, dword [esp + 0x24]
sar eax, 1
mov word [edi + 2], ax
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x38]
add ebx, 2
jmp 0x4bcd66
mov ecx, dword [esp + 0x30]
xor eax, eax
cmp ecx, edx
mov edx, dword [esp + 0x10]
setne al
add eax, 0x6a
cmp dword [esp + 0x144], 0
mov word [edx], ax
jne 0x4be5ea
test ecx, ecx
je 0x4be5d2
xor ecx, ecx
not byte [esp + ecx + 0x84]
inc ecx
cmp ecx, 0x20
jl 0x4be5c5
movups xmm0, xmmword [esp + 0x84]
movups xmmword [edx + 2], xmm0
movups xmm0, xmmword [esp + 0x94]
movups xmmword [edx + 0x12], xmm0
mov esi, dword [esp + 0x24]
add edx, 0x22
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x14]
mov ebp, edi
mov ecx, dword [esp + 0x140]
add ebx, 2
mov edi, dword [esp + 0x38]
mov dword [esp + 0x18], ebp
jmp 0x4bcd66
test ecx, ecx
je case.0x4bd18e.1
movzx eax, word [ebx + 2]
add ebx, 2
xor esi, esi
or edi, 0xffffffff
cmp eax, 0x30
jb 0x4be66e
mov edx, eax
nop dword [eax]
cmp dx, 0x39
ja 0x4be64f
movzx eax, dx
lea esi, [esi + esi*4]
add ebx, 2
lea esi, [esi - 0x18]
lea esi, [eax + esi*2]
movzx eax, word [ebx]
mov edx, eax
cmp eax, 0x30
jae 0x4be630
test esi, esi
js 0x4be6df
cmp esi, 0xffff
jle 0x4be66e
mov eax, dword [esp + 0x12c]
mov dword [eax], 5
jmp 0x4be685
cmp word [ebx], 0x7d
jne 0x4be69f
mov edi, esi
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x68], esi
mov dword [esp + 0x54], edi
cmp dword [eax], 0
mov dword [esp + 0x14], ebx
jne 0x4c16a8
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x68]
jmp 0x4be721
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x7d
je 0x4be676
xor edi, edi
cmp eax, 0x30
jb 0x4be6ee
mov edx, eax
cmp dx, 0x39
ja 0x4be6d3
movzx eax, dx
lea edi, [edi + edi*4]
add ebx, 2
lea edi, [edi - 0x18]
lea edi, [eax + edi*2]
movzx eax, word [ebx]
mov edx, eax
cmp eax, 0x30
jae 0x4be6b4
test edi, edi
js 0x4be6df
cmp edi, 0xffff
jle 0x4be6ee
mov eax, dword [esp + 0x12c]
mov dword [eax], 5
jmp 0x4be685
cmp edi, esi
jae 0x4be676
mov eax, dword [esp + 0x12c]
mov dword [eax], 4
jmp 0x4be685
xor edx, edx
or ecx, 0xffffffff
jmp 0x4be719
mov edx, 1
or ecx, 0xffffffff
jmp 0x4be719
xor edx, edx
mov ecx, 1
mov dword [esp + 0x68], edx
mov dword [esp + 0x54], ecx
mov esi, dword [esp + 0x28]
test esi, esi
je 0x4c12a3
mov eax, dword [esp + 0x58]
test edx, edx
cmovne eax, dword [esp + 0x4c]
cmovne ebp, dword [esp + 0x40]
xor edi, edi
cmp edx, ecx
mov dword [esp + 0x24], eax
mov edx, esi
mov dword [esp + 0x34], edi
mov eax, 0x20000000
mov dword [esp + 0x48], edx
movzx ecx, word [ebx + 2]
cmove eax, edi
mov dword [esp + 0x70], eax
cmp ecx, 0x2b
jne 0x4be775
add ebx, 2
mov dword [esp + 0x34], 1
mov dword [esp + 0x14], ebx
jmp 0x4be791
cmp ecx, 0x3f
jne 0x4be78a
mov edi, dword [esp + 0xc8]
add ebx, 2
mov dword [esp + 0x14], ebx
jmp 0x4be791
mov edi, dword [esp + 0xc4]
cmp word [esi], 0x6f
mov dword [esp + 0x1c], edi
jne 0x4be7fb
mov eax, dword [esi]
add dword [esp + 0x10], 8
cmp dword [esp + 0x144], 0
mov dword [esi + 4], eax
mov dword [esi], 0x4007b
mov dword [esi + 8], 0x40072
mov dword [esp + 0x6c], 6
jne 0x4be7f3
mov ebx, dword [esp + 0x140]
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x24]
add eax, 2
cmp edx, eax
jb 0x4be7f3
mov ecx, dword [esp + 0x28]
sub ecx, dword [ebx + 0x14]
movzx esi, word [edx - 2]
add ecx, 2
sar ecx, 1
cmp esi, ecx
jne 0x4be7f3
lea eax, [esi + 2]
mov word [edx - 2], ax
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
movzx ecx, word [esi]
mov eax, ecx
cmp ecx, 0x1d
je 0x4bf083
cmp ecx, 0x1e
je 0x4bf083
cmp ecx, 0x1f
je 0x4bf020
cmp ecx, 0x20
je 0x4bf020
cmp ecx, 0x17
jae 0x4be885
cmp dword [esp + 0x34], 0
mov esi, 0x34
mov edi, ecx
mov dword [esp + 0x40], ebp
jne 0x4bf119
cmp dword [esp + 0x54], 0
mov dword [esp + 0x40], ebp
jge 0x4bf119
push dword [esp + 0x140]
mov ecx, dword [esp + 0x2c]
lea eax, [ebx + 2]
push dword [esp + 0x48]
lea edx, [esi - 0x33]
mov dword [esp + 0x48], ebp
push eax
call fcn.004bc070
add esp, 0xc
test eax, eax
je 0x4bf115
mov dword [esp + 0x40], ebp
jmp 0x4bf105
cmp ecx, 0x6a
je 0x4bef7f
cmp ecx, 0x6b
je 0x4bef7f
cmp ecx, 0x6c
je 0x4bef7f
cmp ecx, 0x6d
je 0x4bef7f
cmp ecx, 0x6e
je 0x4bef7f
add eax, 0xffffff89
cmp ax, 0xa
ja 0x4bef68
mov edi, dword [esp + 0x10]
xor eax, eax
sub edi, esi
mov dword [esp + 0x50], eax
sar edi, 1
xor esi, esi
mov eax, 0x81
mov dword [esp + 0x30], edi
mov dword [esp + 0x3c], esi
cmp cx, ax
jne 0x4be8f8
mov eax, dword [esp + 0x28]
mov esi, 0x8b
mov dword [esp + 0x40], ebp
cmp word [eax + 4], si
je 0x4bf442
mov eax, dword [esp + 0x68]
cmp ecx, 0x7b
jae 0x4be925
mov dword [esp + 0x40], ebp
test eax, eax
jg 0x4bf442
mov ecx, dword [esp + 0x54]
test ecx, ecx
js 0x4be91a
cmp ecx, 1
jle 0x4be929
mov ecx, 1
mov dword [esp + 0x54], ecx
jmp 0x4be929
mov ecx, dword [esp + 0x54]
test eax, eax
jne 0x4bea24
push dword [esp + 0x60]
mov ebx, dword [esp + 0x2c]
xor edx, edx
mov eax, dword [esp + 0x14]
cmp ecx, 1
push dword [esp + 0x144]
push ecx
mov word [eax], dx
lea esi, [ebx + 2]
mov ecx, ebx
jg 0x4be9c1
mov edx, 1
call fcn.004bbce0
add esp, 0xc
lea eax, [edi + edi]
push eax
push ebx
push esi
call sub.VCRUNTIME140.dll_memmove
mov edx, dword [esp + 0x1c]
add esp, 0xc
add edx, 2
cmp dword [esp + 0x54], 0
mov dword [esp + 0x10], edx
jne 0x4be996
mov eax, 0x9b
mov dword [esp + 0x40], ebp
mov word [ebx], ax
mov ebx, dword [esp + 0x14]
jmp 0x4bf446
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x50], ebx
dec esi
lea eax, [ecx + 0x8c]
mov dword [esp + 0x40], ebp
mov word [ebx], ax
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x48]
jmp 0x4bebc4
mov edx, 3
call fcn.004bbce0
add esp, 0xc
lea eax, [edi + edi]
push eax
lea eax, [ebx + 6]
push ebx
push eax
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [esp + 0x28]
mov edx, 0x7d
add dword [esp + 0x1c], 6
add esp, 0xc
mov dword [esp + 0x40], ebp
lea eax, [ecx + 0x8c]
mov word [ebx], ax
mov eax, esi
mov word [esi], dx
add eax, 4
add esi, 2
mov dword [esp + 0x28], eax
xor edx, edx
mov dword [esp + 0x3c], esi
mov word [esi], dx
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x14]
dec esi
mov edx, dword [esp + 0x48]
jmp 0x4bebc4
mov dword [esp + 0x40], ebp
cmp eax, 1
jle 0x4bebb6
cmp dword [esp + 0x144], 0
je 0x4bea92
lea ecx, [eax - 1]
mov eax, dword [esp + 0x6c]
movd xmm1, ecx
mov esi, ecx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
imul esi, eax
mulsd xmm1, xmm0
comisd xmm1, xmm2
ja 0x4c1678
mov eax, dword [esp + 0x144]
mov ecx, dword [eax]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, esi
jl 0x4c1678
lea eax, [esi + ecx]
mov dword [esp + 0x40], ebp
mov ecx, dword [esp + 0x144]
mov dword [ecx], eax
jmp 0x4bebb2
cmp dword [esp + 0xb0], 0
mov dword [esp + 0x40], ebp
je 0x4beab0
mov dword [esp + 0x40], ebp
test ebp, ebp
jns 0x4beab0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x40], ecx
mov ebx, dword [esp + 0x140]
lea eax, [edi + edi]
mov ebp, 1
mov dword [esp + 0x4c], eax
mov esi, dword [ebx + 0x24]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x18]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x14c]
mov ecx, esi
sub ecx, dword [esp + 0x6c]
add esp, 0xc
mov ebx, dword [ebx + 0x10]
sar ecx, 1
mov eax, dword [edx + 0x34]
mov edi, dword [edx + 0x24]
sub eax, ecx
add eax, 0xffffff9c
lea eax, [ebx + eax*2]
cmp edi, eax
jbe 0x4beb5e
nop dword [eax + eax]
mov ecx, edx
call fcn.004ba400
mov ecx, dword [esp + 0x12c]
mov dword [ecx], eax
test eax, eax
jne 0x4c11f8
mov eax, dword [esp + 0x140]
sub esi, ebx
mov ecx, dword [esp + 0x60]
sub ecx, ebx
sar esi, 1
sar ecx, 1
mov edx, dword [eax + 0x10]
mov ebx, edx
mov edi, dword [eax + 0x24]
mov eax, dword [eax + 0x34]
lea ecx, [edx + ecx*2]
lea esi, [edx + esi*2]
mov dword [esp + 0x60], ecx
mov ecx, esi
add edx, 0xffffff38
sub ecx, dword [esp + 0x60]
sar ecx, 1
sub eax, ecx
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x140]
cmp edi, eax
ja 0x4beb00
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x140]
cmp ecx, esi
jae 0x4beb88
mov edx, dword [esp + 0x30]
mov ax, word [ecx]
add ecx, 2
add ax, dx
mov word [edi], ax
add dword [ebx + 0x24], 2
mov edi, dword [ebx + 0x24]
cmp ecx, esi
jb 0x4beb71
mov eax, dword [esp + 0x10]
inc ebp
mov edi, dword [esp + 0x30]
mov dword [esp + 0x60], esi
lea eax, [eax + edi*2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
cmp ebp, dword [esp + 0x68]
jl 0x4beac3
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x1c]
test esi, esi
jle 0x4bebca
sub esi, eax
mov dword [esp + 0x54], esi
test esi, esi
js 0x4bee0c
mov ebp, dword [esp + 0x144]
test ebp, ebp
je 0x4bec82
test esi, esi
jle 0x4bec82
mov eax, dword [esp + 0x6c]
add eax, 5
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mov ecx, eax
movd xmm1, eax
cvtdq2pd xmm1, xmm1
imul ecx, esi
mulsd xmm1, xmm0
sub ecx, 4
comisd xmm1, xmmword [0x4f2f58]
ja 0x4c1678
mov esi, dword [ebp]
mov eax, 0x7fffffeb
sub eax, esi
cmp eax, ecx
jl 0x4c1678
lea eax, [ecx + esi]
mov dword [ebp], eax
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x4bf3a7
mov ebx, 0x72
mov edx, edi
mov esi, edi
sub edx, ecx
sar edx, 1
inc edx
lea eax, [edx + edx]
sub esi, eax
movzx eax, word [esi + 2]
mov word [edi], bx
test eax, eax
je 0x4bedf5
neg eax
lea ecx, [ecx + eax*2]
movzx eax, dx
mov word [edi + 2], ax
add edi, 4
mov dword [esp + 0x10], edi
mov word [esi + 2], ax
test ecx, ecx
jne 0x4bec45
jmp 0x4bf39f
lea ebp, [esi - 1]
mov dword [esp + 0x50], ebp
test ebp, ebp
js 0x4bec30
mov ebx, dword [esp + 0x140]
lea eax, [ecx + 0x8c]
lea ecx, [edi + edi]
mov dword [esp + 0x4c], eax
mov edi, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
nop dword [eax]
mov esi, dword [ebx + 0x24]
mov word [edi], ax
add edi, 2
mov dword [esp + 0x10], edi
test ebp, ebp
je 0x4becec
mov edx, dword [esp + 0x3c]
mov eax, 0x7d
mov word [edi], ax
add edi, 2
test edx, edx
jne 0x4becd8
xor eax, eax
jmp 0x4becde
mov eax, edi
sub eax, edx
sar eax, 1
mov dword [esp + 0x3c], edi
mov word [edi], ax
add edi, 2
mov dword [esp + 0x10], edi
push ecx
push dword [esp + 0x2c]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x14c]
mov ecx, esi
sub ecx, dword [esp + 0x6c]
add esp, 0xc
mov ebx, dword [ebx + 0x10]
sar ecx, 1
mov eax, dword [edx + 0x34]
mov edi, dword [edx + 0x24]
sub eax, ecx
add eax, 0xffffff9c
lea eax, [ebx + eax*2]
cmp edi, eax
jbe 0x4bed7e
nop
mov ecx, edx
call fcn.004ba400
mov ecx, dword [esp + 0x12c]
mov dword [ecx], eax
test eax, eax
jne 0x4c11f8
mov eax, dword [esp + 0x140]
sub esi, ebx
mov ecx, dword [esp + 0x60]
sub ecx, ebx
sar esi, 1
sar ecx, 1
mov edx, dword [eax + 0x10]
mov ebx, edx
mov edi, dword [eax + 0x24]
mov eax, dword [eax + 0x34]
lea ecx, [edx + ecx*2]
lea esi, [edx + esi*2]
mov dword [esp + 0x60], ecx
mov ecx, esi
add edx, 0xffffff38
sub ecx, dword [esp + 0x60]
sar ecx, 1
sub eax, ecx
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x140]
cmp edi, eax
ja 0x4bed20
mov ebx, dword [esp + 0x140]
cmp dword [esp + 0x60], esi
jae 0x4bedc0
mov edx, dword [esp + 0x30]
xor eax, eax
test ebp, ebp
mov ebp, dword [esp + 0x60]
setne al
lea eax, [eax*2 + 1]
movzx ecx, ax
lea eax, [edx + ecx]
add ax, word [ebp]
add ebp, 2
mov word [edi], ax
add dword [ebx + 0x24], 2
mov edi, dword [ebx + 0x24]
cmp ebp, esi
jb 0x4beda4
mov ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x30]
sub ebp, 1
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x60], esi
mov dword [esp + 0x50], ebp
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], edi
jns 0x4becb0
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x48]
jmp 0x4bec34
movzx eax, dx
mov word [edi + 2], ax
mov word [esi + 2], ax
lea eax, [edi + 4]
mov dword [esp + 0x10], eax
jmp 0x4bf39f
mov edx, dword [esp + 0x10]
movzx eax, word [edx - 2]
lea edi, [edx - 4]
add eax, eax
mov ebx, edi
sub ebx, eax
movzx eax, word [ebx]
cmp eax, 0x7b
je 0x4bee2c
mov ebp, eax
cmp eax, 0x7c
jne 0x4bee4a
cmp dword [esp + 0x34], 0
je 0x4bee3f
mov eax, 0x7d
mov word [ebx], ax
mov ebp, eax
jmp 0x4bee54
mov ebp, eax
cmp eax, 0x7b
je 0x4bef59
cmp bp, 0x7c
je 0x4bef59
cmp dword [esp + 0x144], 0
jne 0x4bee92
mov esi, ebx
push dword [esp + 0x140]
mov edx, edi
push ecx
mov ecx, esi
call fcn.004bb860
add esp, 8
test eax, eax
jne 0x4bee88
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4bee60
jmp 0x4bee8e
lea eax, [ebp + 5]
mov word [ebx], ax
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x34], 0
je 0x4bef46
movzx eax, word [ebx]
mov ecx, 0x81
cmp ax, cx
je 0x4beec2
mov ecx, 0x86
cmp ax, cx
je 0x4beec2
inc eax
mov word [ebx], ax
mov eax, 0x75
mov word [edi], ax
jmp 0x4bef1e
push dword [esp + 0x60]
xor eax, eax
mov esi, edx
push dword [esp + 0x144]
mov word [edx], ax
sub esi, ebx
push ecx
lea edx, [eax + 2]
sar esi, 1
mov ecx, ebx
call fcn.004bbce0
add esp, 0xc
lea eax, [esi + esi]
push eax
lea eax, [ebx + 4]
push ebx
push eax
call sub.VCRUNTIME140.dll_memmove
mov edx, dword [esp + 0x1c]
mov eax, 0x7e
mov word [ebx], ax
add esp, 0xc
mov eax, 0x75
mov word [edx + 4], ax
lea eax, [esi + 2]
mov word [edx + 6], ax
add edx, 8
mov dword [esp + 0x10], edx
mov word [ebx + 2], ax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4bef2e
mov ecx, 0x8e
mov word [eax], cx
cmp dword [esp + 0x68], 2
mov ebx, dword [esp + 0x14]
jl 0x4bf446
mov edx, dword [esp + 0x48]
jmp 0x4bf3b2
mov eax, dword [esp + 0x1c]
add eax, 0x73
mov word [edi], ax
mov ebx, dword [esp + 0x14]
jmp 0x4bf446
mov eax, dword [esp + 0x1c]
add eax, 0x73
mov word [edi], ax
jmp 0x4bf39f
mov eax, 0x97
cmp cx, ax
jne 0x4c1280
mov dword [esp + 0x40], ebp
jmp 0x4bf442
mov ecx, dword [esp + 0x54]
test ecx, ecx
jne 0x4bef96
mov edx, esi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x10], edx
jmp 0x4bf446
mov edx, dword [esp + 0x68]
test edx, edx
jne 0x4befd4
cmp ecx, 0xffffffff
jne 0x4befb9
lea eax, [edi + 0x62]
mov dword [esp + 0x40], ebp
mov edi, dword [esp + 0x10]
mov word [edi], ax
add edi, 2
jmp 0x4bf39b
cmp ecx, 1
jne 0x4beff4
lea eax, [edi + 0x66]
mov dword [esp + 0x40], ebp
mov edi, dword [esp + 0x10]
mov word [edi], ax
add edi, 2
jmp 0x4bf39b
cmp edx, 1
jne 0x4beff4
cmp ecx, 0xffffffff
jne 0x4beff4
lea eax, [edi + 0x64]
mov dword [esp + 0x40], ebp
mov edi, dword [esp + 0x10]
mov word [edi], ax
add edi, 2
jmp 0x4bf39b
lea eax, [edi + 0x68]
mov dword [esp + 0x40], ebp
mov edi, dword [esp + 0x10]
mov word [edi], ax
xor eax, eax
mov word [edi + 2], dx
add edi, 4
cmp ecx, 0xffffffff
cmove ecx, eax
mov word [edi], cx
add edi, 2
mov dword [esp + 0x54], ecx
jmp 0x4bf39b
cmp ecx, 0x1f
mov esi, 0x27
mov ecx, dword [esp + 0x28]
mov eax, 0x1a
cmove esi, eax
cmp dword [esp + 0x34], 0
movzx edi, word [ecx + 2]
jne 0x4bf07a
cmp dword [esp + 0x54], 0
jge 0x4bf07a
push dword [esp + 0x140]
lea eax, [ebx + 2]
mov edx, 1
push dword [esp + 0x48]
push eax
call fcn.004bc070
mov ebx, dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x4bf07a
mov dword [esp + 0x1c], 0
mov dword [esp + 0x34], 1
mov dword [esp + 0x40], ebp
jmp 0x4bf119
mov edx, dword [esp + 0x10]
xor eax, eax
cmp ecx, 0x1d
mov esi, 0xd
cmove esi, eax
movzx eax, word [edx - 2]
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x4bf13a
lea ecx, [edx - 4]
mov edi, edx
sub edi, ecx
sar edi, 1
lea eax, [edi + edi]
push eax
push ecx
lea eax, [esp + 0x11c]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x40], ebp
or edi, 0x10000000
mov eax, dword [esp + 0x140]
cmp dword [esp + 0x34], 0
jne 0x4bf119
cmp dword [esp + 0x54], 0
jge 0x4bf119
mov ecx, dword [esp + 0x28]
mov edx, 1
push eax
push dword [esp + 0x48]
lea eax, [ebx + 2]
push eax
call fcn.004bc070
add esp, 0xc
test eax, eax
je 0x4bf115
mov dword [esp + 0x34], 1
mov dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
movzx eax, word [edx]
cmp eax, 0x10
je 0x4bf163
cmp eax, 0xf
je 0x4bf163
mov dword [esp + 0x2c], 0xffffffff
lea ecx, [edx + 2]
or ebp, 0xffffffff
jmp 0x4bf171
cmp dword [esp + 0x68], 1
mov edi, ecx
mov dword [esp + 0x40], ebp
jle 0x4bf0d2
mov eax, dword [esp + 0x140]
mov ecx, dword [eax + 0x54]
or ecx, edi
or ecx, dword [esp + 0x80]
mov dword [esp + 0x40], ecx
jmp 0x4bf0d9
movzx eax, word [edx + 4]
lea ecx, [edx + 2]
movzx ebp, word [ecx]
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x54], 0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
je 0x4bf442
mov eax, dword [esp + 0x1c]
add eax, esi
cmp dword [esp + 0x68], 0
mov dword [esp + 0x1c], eax
jne 0x4bf217
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x28]
movzx eax, ax
cmp esi, 0xffffffff
jne 0x4bf1ec
add eax, 0x21
mov word [edx], ax
mov edx, ecx
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x2c]
test edi, 0x10000000
je 0x4bf37f
and edi, 7
lea eax, [esp + 0x114]
lea esi, [edi + edi]
mov edi, dword [esp + 0x10]
push esi
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
jmp 0x4bf389
mov ebx, dword [esp + 0x2c]
cmp esi, 1
jne 0x4bf203
add eax, 0x25
mov word [edx], ax
mov edx, ecx
mov dword [esp + 0x10], edx
jmp 0x4bf1bd
add eax, 0x27
mov word [edx], ax
mov edx, ecx
mov word [edx], si
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4bf1bd
cmp dword [esp + 0x68], 1
jne 0x4bf25d
mov esi, dword [esp + 0x54]
cmp esi, 0xffffffff
jne 0x4bf239
mov ecx, dword [esp + 0x28]
add eax, 0x23
mov word [ecx], ax
lea edx, [ecx + 2]
jmp 0x4bf1b5
mov dword [esp + 0x10], edx
cmp esi, 1
je 0x4bf442
add eax, 0x27
lea ecx, [edx + 2]
mov word [edx], ax
lea eax, [esi - 1]
mov word [ecx], ax
lea edx, [ecx + 2]
jmp 0x4bf1b5
mov edx, dword [esp + 0x28]
lea eax, [esi + 0x29]
mov esi, dword [esp + 0x54]
mov word [edx], ax
mov edx, ecx
mov eax, dword [esp + 0x68]
mov word [edx], ax
add edx, 2
mov dword [esp + 0x10], edx
test esi, esi
jns 0x4bf2f3
test edi, 0x10000000
je 0x4bf2c5
mov eax, edi
and eax, 7
lea esi, [eax + eax]
push esi
lea eax, [esp + 0x118]
push eax
push edx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x1c]
add esp, 0xc
add edx, esi
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
add eax, 0x21
mov word [edx], ax
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4bf1bd
mov word [edx], di
add edx, 2
test ebp, ebp
js 0x4bf2ab
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov word [edx], bp
add eax, 0x21
mov word [edx + 2], bx
add edx, 4
mov word [edx], ax
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4bf1bd
cmp esi, eax
je 0x4bf1b9
test edi, 0x10000000
je 0x4bf32d
mov eax, edi
and eax, 7
lea esi, [eax + eax]
push esi
lea eax, [esp + 0x118]
push eax
push edx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x68]
add edx, esi
mov esi, dword [esp + 0x54]
jmp 0x4bf333
mov word [edx], di
add edx, 2
mov ebx, dword [esp + 0x2c]
test ebp, ebp
js 0x4bf345
mov word [edx], bp
mov word [edx + 2], bx
add edx, 4
sub esi, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], esi
movzx eax, ax
cmp esi, 1
jne 0x4bf369
add eax, 0x25
mov word [edx], ax
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4bf1bd
add eax, 0x27
mov word [edx], ax
mov word [edx + 2], si
add edx, 4
mov dword [esp + 0x10], edx
jmp 0x4bf1bd
mov word [edx], di
mov edi, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0x10], edi
test ebp, ebp
js 0x4bf39f
mov word [edi], bp
mov word [edi + 2], bx
add edi, 4
mov dword [esp + 0x10], edi
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x48]
cmp dword [esp + 0x34], 0
je 0x4bf442
movzx eax, word [edx]
cmp eax, 0x5d
jne 0x4bf3d6
movzx eax, word [edx + 4]
cmp eax, 0x10
je 0x4bf3cd
cmp eax, 0xf
mov eax, 6
jne 0x4bf3d2
mov eax, 0xa
add edx, eax
jmp 0x4bf407
cmp eax, 0x29
je 0x4bf3e0
cmp eax, 0x43
jne 0x4bf40b
movzx eax, byte [eax + 0x4e3380]
mov ecx, 0xfc00
lea edx, [edx + eax*2]
mov dword [esp + 0x48], edx
mov ax, word [edx - 2]
and ax, cx
mov ecx, 0xd800
cmp ax, cx
jne 0x4bf40b
add edx, 2
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x10]
mov esi, ecx
sub esi, edx
sar esi, 1
test esi, esi
jle 0x4bf442
movzx eax, word [edx]
add eax, 0xffffffdf
cmp eax, 0x3a
ja case.0x4bf42f.34
movzx eax, byte [eax + 0x4c181c]
jmp dword [eax*4 + 0x4c17c8]
mov eax, 0x2a
mov word [edx], ax
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
or dword [ecx + 0x54], eax
add ebx, 2
mov edi, dword [esp + 0x38]
mov dword [esp + 0x28], 0
jmp 0x4bcd66
mov eax, 0x2b
jmp 0x4bf43b
mov eax, 0x2c
jmp 0x4bf43b
mov eax, 0x2d
jmp 0x4bf43b
mov eax, 0x37
jmp 0x4bf43b
mov eax, 0x38
jmp 0x4bf43b
mov eax, 0x39
jmp 0x4bf43b
mov eax, 0x3a
jmp 0x4bf43b
mov eax, 0x44
jmp 0x4bf43b
mov eax, 0x45
jmp 0x4bf43b
mov eax, 0x46
jmp 0x4bf43b
mov eax, 0x47
jmp 0x4bf43b
mov eax, 0x51
jmp 0x4bf43b
mov eax, 0x52
jmp 0x4bf43b
mov eax, 0x53
jmp 0x4bf43b
mov eax, 0x54
jmp 0x4bf43b
mov eax, 0x5e
jmp 0x4bf43b
mov eax, 0x5f
jmp 0x4bf43b
mov eax, 0x60
jmp 0x4bf43b
mov eax, 0x61
jmp 0x4bf43b
push dword [esp + 0x60]
xor eax, eax
push dword [esp + 0x144]
mov word [ecx], ax
push ecx
mov ecx, dword [esp + 0x54]
lea edx, [eax + 2]
call fcn.004bbce0
add esp, 0xc
lea eax, [esi + esi]
push eax
mov eax, dword [esp + 0x4c]
push eax
add eax, 4
push eax
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [esp + 0x54]
mov ecx, 0x7b
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov word [eax], cx
mov eax, 0x72
mov word [edx + 4], ax
lea ecx, [esi + 2]
mov word [edx + 6], cx
add edx, 8
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], edx
mov word [eax + 2], cx
mov ebx, dword [esp + 0x14]
jmp 0x4bf446
mov ebp, dword [esp + 0x44]
lea edx, [ebx + 2]
xor eax, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov ecx, 0x7f
mov eax, dword [edi + 0x24]
mov dword [esp + 0x60], eax
xor eax, eax
mov dword [esp + 0x2c], eax
movzx eax, word [edx]
mov dword [esp + 0x50], ebp
mov dword [esp + 0x34], ecx
cmp eax, 0x2a
jne 0x4bf8c6
movzx eax, word [edx + 2]
lea ebx, [edx + 2]
cmp eax, 0x3a
je 0x4bf5dd
mov ecx, 0xff
cmp ax, cx
ja 0x4c041f
mov ecx, eax
mov eax, dword [edi + 0xc]
test byte [ecx + eax], 2
je 0x4c041f
mov edi, 0x4d4314
mov dword [esp + 0x14], ebx
movzx eax, word [ebx]
mov edx, 0xff
mov dword [esp + 0x3c], edi
mov ecx, ebx
mov dword [esp + 0x50], 0
mov esi, eax
mov dword [esp + 0x2c], ebx
mov edi, ebx
mov dword [esp + 0x34], 0
mov dword [esp + 0x28], 0
cmp ax, dx
ja 0x4bf672
mov ecx, dword [esp + 0x140]
mov edx, eax
mov esi, ebx
mov eax, ebx
mov ebp, dword [ecx + 0xc]
mov ecx, ebx
jmp 0x4bf634
mov esi, dword [esp + 0x30]
mov edi, eax
mov dword [esp + 0x30], esi
movzx eax, dx
movzx esi, dx
test byte [eax + ebp], 2
je 0x4bf66e
lea ebx, [ecx + 2]
mov dword [esp + 0x14], ebx
mov edi, ebx
movzx eax, word [ebx]
mov ecx, eax
mov dword [esp + 0x30], edi
cmp cx, word [esp + 0xb4]
mov edx, ecx
mov esi, eax
mov dword [esp + 0x4c], ebx
mov eax, edi
mov ecx, ebx
jbe 0x4bf630
mov ecx, dword [esp + 0x30]
sub ecx, dword [esp + 0x2c]
sar ecx, 1
mov dword [esp + 0x30], ecx
movzx eax, si
cmp si, 0x3a
jne 0x4bf6d1
add edi, 2
mov ebx, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x14], ebx
mov ebp, edi
movzx ecx, word [ebx]
mov eax, ecx
test cx, cx
je 0x4bf6c2
mov edx, ecx
mov esi, edi
movzx eax, dx
cmp dx, 0x29
je 0x4bf6c2
lea ebx, [esi + 2]
mov dword [esp + 0x14], ebx
mov ebp, ebx
movzx eax, word [ebx]
mov esi, ebx
mov ecx, eax
mov edx, eax
test cx, cx
jne 0x4bf6a2
mov ecx, dword [esp + 0x30]
sub ebp, edi
sar ebp, 1
mov dword [esp + 0x50], ebp
movzx eax, ax
cmp ax, 0x29
jne 0x4bf7e3
mov esi, dword [esp + 0x3c]
xor edx, edx
mov dword [esp + 0x1c], edx
mov ebp, 0x4d4200
nop word [eax + eax]
mov eax, dword [ebp]
cmp ecx, eax
jne 0x4bf7c8
mov esi, dword [esp + 0x2c]
mov edx, ecx
mov edi, dword [esp + 0x3c]
test ecx, ecx
je 0x4bf72a
nop dword [eax]
movzx ecx, word [esi]
lea esi, [esi + 2]
movzx eax, byte [edi]
lea edi, [edi + 1]
dec edx
cmp cx, ax
jne 0x4bf7b9
test edx, edx
jne 0x4bf710
mov edi, dword [esp + 0x1c]
lea eax, [edi + edi*2]
mov ecx, dword [eax*4 + 0x4d4204]
movzx edx, cx
mov esi, edx
cmp ecx, 0x98
jne 0x4bf806
cmp dword [esp + 0x50], 0
jne 0x4c12e9
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
mov dword [eax + 0x58], 1
test ecx, ecx
je 0x4bf78a
mov edi, 0x9a
mov word [edx], di
mov ax, word [ecx + 4]
mov word [edx + 2], ax
add edx, 4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4bf772
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x140]
xor eax, eax
mov esi, dword [esp + 0x24]
cmp dword [ecx + 0x48], eax
setg al
add eax, 0x98
cmp esi, 0xfffffffe
mov word [edx], ax
mov eax, 0xffffffff
cmove esi, eax
mov dword [esp + 0x24], esi
jmp 0x4bf8a2
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x3c]
inc esi
inc edx
add esi, eax
mov dword [esp + 0x1c], edx
add ebp, 0xc
mov dword [esp + 0x3c], esi
cmp ebp, 0x4d426c
jl 0x4bf6f0
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x3c
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov ebp, dword [esp + 0x50]
test ebp, ebp
jne 0x4bf83b
test ecx, ecx
js 0x4c12c6
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x140]
mov word [eax], dx
mov eax, 0x94
cmp si, ax
jne 0x4bf835
or dword [ecx + 0x50], 0x1000
mov edx, dword [esp + 0x10]
jmp 0x4bf89e
mov eax, dword [eax*4 + 0x4d4208]
movzx ecx, ax
mov edx, ecx
test eax, eax
js 0x4c12e9
mov ebx, dword [esp + 0x10]
mov eax, 0x95
mov word [ebx], cx
cmp dx, ax
jne 0x4bf86e
mov eax, dword [esp + 0x140]
or dword [eax + 0x50], 0x1000
lea esi, [ebp*2]
mov word [ebx + 2], bp
push esi
push dword [esp + 0x38]
add ebx, 4
push ebx
mov dword [esp + 0x1c], ebx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x14c]
mov edx, ebx
add edx, esi
add esp, 0xc
xor eax, eax
mov word [edx], ax
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
add edx, 2
mov dword [esp + 0x10], edx
cmp edi, 9
jge 0x4bf7e3
mov ebp, dword [esp + 0x18]
add ebx, 2
mov edi, dword [esp + 0x38]
jmp 0x4bcd66
cmp eax, 0x3f
jne 0x4c041f
lea ebx, [edx + 2]
mov dword [esp + 0x14], ebx
movzx edi, word [ebx]
mov ecx, edi
lea eax, [edi - 0x21]
cmp eax, 0x5b
ja case.0x4bf8f8.47
movzx eax, byte [eax + 0x4c1894]
mov esi, edi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ebx
jmp dword [eax*4 + 0x4c1858]
lea edx, [ebx + 2]
mov ebx, edx
mov dword [esp + 0x14], ebx
movzx eax, word [ebx]
test ax, ax
je 0x4bf92f
mov ecx, eax
cmp cx, 0x29
je 0x4c118d
lea ebx, [edx + 2]
mov dword [esp + 0x14], ebx
mov edx, ebx
movzx eax, word [ebx]
mov ecx, eax
test ax, ax
jne 0x4bf912
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x12
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov dword [esp + 0x2c], 1
mov ebp, dword [esp + 0x10]
lea eax, [ebx + 2]
mov ebx, dword [esp + 0x2c]
mov ecx, 0x7d
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x28], ebp
mov word [ebp], ax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x6c], 0
jmp 0x4c083b
cmp word [ebx + 2], 0x3f
mov ecx, 0x81
mov dword [esp + 0x34], ecx
jne 0x4bf9d1
movzx eax, word [ebx + 4]
cmp eax, 0x3d
je 0x4bf9ac
cmp eax, 0x21
je 0x4bf9ac
cmp eax, 0x3c
jne 0x4bf9d1
mov ebp, dword [esp + 0x10]
mov eax, ecx
mov edx, dword [esp + 0x1c]
mov ebx, edx
mov dword [esp + 0x28], ebp
mov word [ebp], ax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x6c], 0
jmp 0x4c0843
mov esi, dword [esp + 0x10]
mov eax, 0x87
mov dword [esp + 0x1c], 2
mov dword [esp + 0x64], 0xffffffff
mov word [esi + 4], ax
mov ebx, dword [esp + 0x14]
movzx eax, word [ebx + 2]
cmp eax, 0x52
jne 0x4bfa20
cmp word [ebx + 4], 0x26
lea ecx, [ebx + 4]
jne 0x4bfa48
mov dword [esp + 0x14], ecx
mov eax, 0x89
mov word [esi + 4], ax
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], 0xffffffff
jmp 0x4bfa68
cmp eax, 0x3c
jne 0x4bfa36
add ebx, 2
mov dword [esp + 0x20], 0x3e
mov dword [esp + 0x14], ebx
jmp 0x4bfa68
cmp eax, 0x27
jne 0x4bfa48
add ebx, 2
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ebx
jmp 0x4bfa68
mov dword [esp + 0x20], 0
cmp eax, 0x2d
je 0x4bfa5a
cmp eax, 0x2b
jne 0x4bfa68
add ebx, 2
mov dword [esp + 0x14], ebx
movzx eax, word [ebx]
mov dword [esp + 0x64], eax
movzx eax, word [ebx + 2]
add ebx, 2
mov ecx, 0xff
mov esi, ebx
mov dword [esp + 0x3c], esi
cmp ax, cx
ja 0x4c1364
mov ecx, dword [esp + 0x140]
mov ecx, dword [ecx + 0xc]
test byte [eax + ecx], 0x10
je 0x4c1364
mov dword [esp + 0x14], ebx
xor edi, edi
movzx edx, word [ebx]
mov eax, esi
mov ebp, edx
mov dword [esp + 0x28], edi
mov ecx, esi
cmp dx, word [esp + 0xb4]
ja 0x4bfb46
mov ebp, ebx
mov dword [esp + 0x70], edx
mov edi, ebp
movzx ebp, dx
mov esi, edi
mov dword [esp + 0x4c], ebp
mov edi, ebp
movzx ebp, dx
mov edx, dword [esp + 0x140]
mov dword [esp + 0x30], ecx
mov ecx, eax
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x70]
test byte [edi + eax], 0x10
je 0x4bfb3e
mov ecx, dword [esp + 0x28]
test ecx, ecx
js 0x4bfb10
lea eax, [edx - 0x30]
cmp ax, 9
ja 0x4bfb08
lea ecx, [ecx + ecx*4]
lea ecx, [ecx - 0x18]
lea ecx, [edi + ecx*2]
mov dword [esp + 0x28], ecx
jmp 0x4bfb10
mov dword [esp + 0x28], 0xffffffff
add ebx, 2
mov dword [esp + 0x14], ebx
mov esi, ebx
mov dword [esp + 0x30], esi
mov edi, esi
mov dword [esp + 0x4c], esi
movzx eax, word [ebx]
mov ecx, eax
mov ebp, eax
cmp cx, word [esp + 0xb4]
mov edx, ecx
mov dword [esp + 0x70], edx
mov eax, esi
mov ecx, ebx
jbe 0x4bfac0
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
sub eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
sar eax, 1
mov dword [esp + 0x30], eax
test edx, edx
jle 0x4bfb6e
movzx eax, bp
lea ebx, [ecx + 2]
mov dword [esp + 0x14], ebx
mov ecx, ebx
cmp eax, edx
jne 0x4c133e
mov esi, ebx
mov ax, word [ebx]
lea ebx, [esi + 2]
mov dword [esp + 0x14], ebx
mov ecx, ebx
cmp ax, 0x29
jne 0x4c133e
cmp dword [esp + 0x144], 0
jne 0x4bff11
mov ecx, dword [esp + 0x64]
test ecx, ecx
jle 0x4bfbd8
test edi, edi
jle 0x4c153d
mov ebp, dword [esp + 0x140]
mov eax, dword [ebp + 0x38]
cmp ecx, 0x2d
jne 0x4bfbb8
sub eax, edi
lea edi, [eax + 1]
jmp 0x4bfbba
add edi, eax
test edi, edi
jle 0x4c15f4
cmp edi, dword [ebp + 0x3c]
jg 0x4c15f4
mov eax, dword [esp + 0x10]
mov word [eax + 6], di
jmp 0x4bfd69
mov esi, dword [esp + 0x140]
xor eax, eax
mov ebx, dword [esp + 0x30]
mov ecx, dword [esi + 0x2c]
mov ebp, dword [esi + 0x28]
mov dword [esp + 0x64], ecx
test ecx, ecx
jle 0x4bfc35
mov edi, dword [esp + 0x3c]
mov edx, ebx
mov dword [esp + 0x4c], eax
lea esi, [ebp + 2]
mov dword [esp + 0x30], eax
test ebx, ebx
je 0x4bfc2e
nop dword [eax + eax]
movzx ecx, word [edi]
lea edi, [edi + 2]
movzx eax, word [esi]
lea esi, [esi + 2]
dec edx
cmp cx, ax
jne 0x4bfc3f
test edx, edx
jne 0x4bfc10
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x140]
cmp eax, ecx
jge 0x4bfc69
mov ax, word [ebp]
jmp 0x4bfc8a
mov esi, dword [esp + 0x140]
mov ecx, dword [esp + 0x64]
mov eax, dword [esi + 0x30]
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, ecx
jge 0x4bfc69
mov edi, dword [esp + 0x3c]
lea esi, [ebp + 2]
mov edx, ebx
jmp 0x4bfc10
mov eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
mov edx, ebp
push ecx
shr eax, 3
mov ecx, esi
and eax, 1
push eax
push ebx
call fcn.004bb210
add esp, 0xc
test eax, eax
jle 0x4bfca4
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x140]
mov word [edx + 6], ax
mov eax, edx
inc word [eax + 4]
jmp 0x4bfd69
cmp dword [esp + 0x20], 0
jne 0x4c15f0
cmp word [ebp], 0x52
jne 0x4bfd04
xor ecx, ecx
lea edx, [ecx + 1]
cmp ebx, edx
jle 0x4bfce6
nop
movzx esi, word [ebp + edx*2]
lea eax, [esi - 0x30]
cmp ax, 9
ja 0x4c15f0
lea ecx, [ecx + ecx*4]
mov eax, esi
inc edx
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
cmp edx, ebx
jl 0x4bfcc0
test ecx, ecx
jne 0x4bfceb
mov ecx, 0xffff
mov eax, dword [esp + 0x10]
mov edx, 0x89
mov ebp, dword [esp + 0x140]
mov word [eax + 4], dx
jmp 0x4bfd65
cmp ebx, 6
jne 0x4bfd45
mov edx, ebx
mov esi, str.DEFINE
movzx ecx, word [ebp]
lea ebp, [ebp + 2]
movzx eax, byte [esi]
lea esi, [esi + 1]
dec edx
cmp cx, ax
jne 0x4bfd45
test edx, edx
jne 0x4bfd10
mov eax, dword [esp + 0x10]
mov ecx, 0x8b
mov ebp, dword [esp + 0x140]
mov dword [esp + 0x1c], 1
mov word [eax + 4], cx
jmp 0x4bfd69
mov ecx, dword [esp + 0x28]
test ecx, ecx
jle 0x4c130c
mov ebp, dword [esp + 0x140]
cmp ecx, dword [ebp + 0x3c]
jg 0x4c130c
mov eax, dword [esp + 0x10]
mov word [eax + 6], cx
mov edx, dword [esp + 0x1c]
mov ecx, 0x81
mov ebx, dword [esp + 0x2c]
mov word [eax], cx
mov edi, dword [ebp + 0x54]
mov esi, dword [ebp + 0x38]
mov dword [esp + 0x48], eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x28], eax
jmp 0x4c0850
mov ebp, dword [esp + 0x140]
lea eax, [ebx + 2]
mov edx, dword [esp + 0x1c]
mov ecx, 0x77
mov dword [esp + 0x14], eax
mov ebx, edx
mov eax, dword [esp + 0x10]
inc dword [ebp + 0x48]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], eax
mov word [eax], cx
mov edi, dword [ebp + 0x54]
mov esi, dword [ebp + 0x38]
mov dword [esp + 0x48], eax
mov dword [esp + 0x6c], 0
jmp 0x4c0850
lea eax, [ebx + 2]
mov dword [esp + 0x14], eax
cmp word [eax], 0x29
jne 0x4bfe1d
mov edx, dword [esp + 0x10]
mov eax, 0x97
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x140]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
mov word [edx], ax
add edx, 2
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], edx
add ebx, 2
mov dword [esp + 0x28], 0
jmp 0x4bcd66
mov ebp, dword [esp + 0x10]
mov ecx, 0x78
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x1c]
mov ebx, edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], ebp
inc dword [eax + 0x48]
mov word [ebp], cx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x6c], 0
jmp 0x4c084a
movzx eax, word [ebx + 2]
mov edx, eax
cmp edx, 0x21
je 0x4bfef5
cmp edx, 0x3d
je 0x4bfed9
mov ebp, 0xff
cmp ax, bp
ja 0x4c1387
mov eax, dword [esp + 0x140]
mov eax, dword [eax + 0xc]
test byte [edx + eax], 0x10
je 0x4c1387
mov esi, edi
cmp si, 0x3c
mov eax, 0x3e
mov ecx, 0x27
mov edi, 0xff
cmove ecx, eax
add ebx, 2
mov dword [esp + 0x14], ebx
mov edx, ebx
mov dword [esp + 0x4c], ecx
mov ebp, edx
mov dword [esp + 0x1c], edx
movzx eax, word [ebx]
mov esi, eax
cmp ax, di
ja 0x4c0181
mov ecx, dword [esp + 0x140]
mov edx, eax
mov eax, ebx
mov edi, dword [ecx + 0xc]
jmp 0x4c0145
mov ecx, 0x79
lea eax, [ebx + 4]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x14], eax
inc dword [ecx + 0x48]
jmp 0x4bff15
mov eax, dword [esp + 0x140]
mov ecx, 0x7a
mov dword [esp + 0x34], ecx
inc dword [eax + 0x48]
lea eax, [ebx + 4]
mov dword [esp + 0x14], eax
jmp 0x4bff15
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
mov eax, ecx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x28], edx
mov word [edx], cx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x140]
mov dword [esp + 0x6c], 0
mov edi, dword [edx + 0x54]
mov esi, dword [edx + 0x38]
cmp ecx, 0x79
je 0x4bff91
mov edx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x28], ebp
cmp eax, 0x7a
jne 0x4c0850
lea ecx, [eax - 0x79]
jmp 0x4c0852
mov edx, dword [esp + 0x1c]
mov ecx, 1
jmp 0x4c0852
mov ebp, dword [esp + 0x10]
lea eax, [edx + 4]
mov edx, dword [esp + 0x1c]
mov ecx, 0x7b
mov dword [esp + 0x14], eax
mov ebx, edx
mov eax, ecx
mov dword [esp + 0x28], ebp
mov word [ebp], ax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x6c], 0
jmp 0x4c083f
mov eax, dword [esp + 0x10]
mov ecx, 0x70
mov dword [esp + 0x74], eax
xor edi, edi
xor ebp, ebp
mov dword [esp + 0xb8], 1
mov word [eax], cx
add eax, 2
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
lea ebx, [eax + 2]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], ebx
movzx ecx, word [ebx]
mov dword [esp + 0x78], eax
mov eax, ecx
cmp ecx, 0x30
jb 0x4c003f
mov edx, ecx
mov esi, ebx
movzx eax, dx
cmp dx, 0x39
ja 0x4c0057
movzx eax, dx
lea ecx, [edi - 6]
lea ebx, [esi + 2]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x14], ebx
mov esi, ebx
lea edi, [eax + ecx*2]
movzx eax, word [ebx]
mov edx, eax
cmp eax, 0x30
jae 0x4c0017
movzx ecx, ax
cmp ax, 0x29
je 0x4c00b2
mov eax, ecx
test cx, cx
je 0x4c13b1
cmp ax, 0x3a
je 0x4c0063
mov ebx, dword [esp + 0x4c]
xor edi, edi
lea ecx, [ebx + 2]
mov dword [esp + 0x78], ecx
nop word [eax + eax]
add ebx, 2
mov dword [esp + 0x14], ebx
movzx eax, word [ebx]
test ax, ax
je 0x4c13b1
cmp eax, 0x29
jne 0x4c0070
sub ebx, ecx
push 0
sar ebx, 1
push ebx
push ecx
mov ecx, 0x4fdb90
call fcn.0043e520
mov ebp, eax
test ebp, ebp
je 0x4c13ad
cmp byte [ebp + 0x51], 0
jne 0x4c13ad
mov ebx, dword [esp + 0x14]
cmp edi, 0xff
jg 0x4c13d4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x140]
mov esi, dword [esp + 0x24]
mov word [edx], di
mov edi, dword [esp + 0x38]
mov dword [edx + 2], ebp
mov eax, dword [esp + 0x14]
sub eax, dword [ecx + 0x18]
mov ebp, dword [esp + 0x18]
sar eax, 1
inc eax
mov word [edx + 6], ax
xor eax, eax
mov word [edx + 8], ax
add edx, 0xa
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], edx
add ebx, 2
mov dword [esp + 0x28], eax
jmp 0x4bcd66
lea ebx, [edx + 4]
mov dword [esp + 0x14], ebx
movzx eax, word [ebx]
cmp eax, 0x3d
je 0x4c012a
cmp eax, 0x3e
je 0x4c012a
cmp eax, 0x3c
jne 0x4c13f7
mov esi, eax
jmp case.0x4bf8f8.36
xor edx, edx
mov dword [esp + 0x2c], 0x29
cmp eax, 0x3e
sete dl
mov dword [esp + 0x30], edx
jmp 0x4c0b62
mov eax, ebx
mov dword [esp + 0x64], eax
movzx eax, dx
movzx esi, dx
test byte [eax + edi], 0x10
je 0x4c0175
lea ebx, [ebp + 2]
mov dword [esp + 0x14], ebx
mov ebp, ebx
movzx eax, word [ebx]
mov ecx, eax
mov dword [esp + 0x64], ebx
mov esi, eax
mov edx, ecx
mov eax, 0xff
cmp cx, ax
jbe 0x4c0143
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x64]
mov edx, dword [esp + 0x1c]
sub ebp, edx
sar ebp, 1
cmp dword [esp + 0x144], 0
je 0x4c01e9
movzx eax, si
cmp eax, ecx
jne 0x4c1583
mov edi, dword [esp + 0x140]
cmp dword [edi + 0x2c], 0x2710
jge 0x4c141a
lea eax, [ebp + 2]
cmp eax, dword [edi + 0x30]
jle 0x4c0394
mov dword [edi + 0x30], eax
cmp ebp, 0x20
jle 0x4c0394
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x30
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x2c]
mov edi, dword [eax + 0x28]
lea eax, [ebp*2]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x64], ecx
mov dword [esp + 0x30], eax
test ecx, ecx
jle 0x4c0319
nop dword [eax]
mov ecx, dword [esp + 0x1c]
lea edx, [edi + 2]
mov esi, eax
sub esi, 4
jb 0x4c0241
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c0246
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c0230
cmp esi, 0xfffffffc
je 0x4c027a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c0273
cmp esi, 0xfffffffd
je 0x4c027a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c0273
cmp esi, 0xfffffffe
je 0x4c027a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c0273
cmp esi, 0xffffffff
je 0x4c027a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4c027a
sbb eax, eax
or eax, 1
jmp 0x4c027c
xor eax, eax
test eax, eax
jne 0x4c02b1
cmp word [edi + ebp*2 + 2], ax
jne 0x4c02dc
mov eax, dword [esp + 0x140]
mov ecx, dword [eax + 0x38]
movzx eax, word [edi]
inc ecx
cmp eax, ecx
je 0x4c02a7
test dword [esp + 0x44], 0x80000
je 0x4c143d
mov dword [esp + 0x70], 1
jmp 0x4c02b3
js 0x4c02dc
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + 0x30]
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x64]
jge 0x4c030c
mov eax, dword [esp + 0x30]
jmp 0x4c0220
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x64]
sub edx, dword [esp + 0x20]
mov eax, dword [eax + 0x30]
imul edx, eax
lea eax, [edi + eax*2]
add edx, edx
push edx
push edi
push eax
call sub.VCRUNTIME140.dll_memmove
mov ebx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x140]
cmp dword [esp + 0x70], 0
jne 0x4c0364
mov eax, dword [esp + 0x30]
jmp 0x4c0320
mov ecx, dword [esp + 0x140]
mov ebp, dword [ecx + 0x2c]
mov edi, eax
mov esi, dword [ecx + 0x28]
xor edx, edx
mov dword [esp + 0x30], edi
test ebp, ebp
jle 0x4c0360
cmp esi, dword [esp + 0x3c]
je 0x4c0350
mov ecx, dword [ecx + 0x38]
movzx eax, word [esi]
inc ecx
cmp eax, ecx
je 0x4c1460
mov ecx, dword [esp + 0x140]
jmp 0x4c0351
dec edx
mov eax, dword [ecx + 0x30]
inc edx
mov dword [esp + 0x30], edi
lea esi, [esi + eax*2]
cmp edx, ebp
jl 0x4c0332
mov edi, dword [esp + 0x3c]
mov ax, word [ecx + 0x38]
mov esi, dword [esp + 0x30]
inc ax
push esi
push dword [esp + 0x20]
mov word [edi], ax
lea eax, [edi + 2]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
xor eax, eax
mov word [edi + esi + 2], ax
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x140]
inc dword [edi + 0x2c]
add ebx, 2
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x10]
mov edx, 1
inc dword [edi + 0x38]
mov eax, dword [edi + 0x38]
mov ebx, dword [esp + 0x2c]
mov word [ebp + 4], ax
mov eax, 0x7f
mov word [ebp], ax
mov edi, dword [edi + 0x54]
mov eax, dword [esp + 0x140]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x6c], 0
mov dword [esp + 0x28], ebp
jmp 0x4c084d
mov dword [esp + 0x2c], 0x29
mov dword [esp + 0x30], 1
jmp 0x4c0b62
lea ebx, [edx + 4]
mov dword [esp + 0x2c], 0x29
mov dword [esp + 0x14], ebx
mov esi, ebx
mov ecx, ebx
jmp 0x4c0617
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c], 0x29
jmp 0x4c0617
test dword [esp + 0x44], 0x1000
je 0x4c039e
mov ebp, dword [esp + 0x10]
mov ecx, 0x7d
mov edx, dword [esp + 0x1c]
mov eax, ecx
mov dword [esp + 0x34], ecx
mov ebx, edx
mov dword [esp + 0x28], ebp
mov word [ebp], ax
mov edi, dword [edi + 0x54]
mov eax, dword [esp + 0x140]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x6c], 0
jmp 0x4c084d
mov edx, dword [esp + 0x12c]
lea ecx, [esp + 0x14]
push 0
push dword [esp + 0x48]
mov dword [esp + 0x80], ebx
push dword [edi + 0x38]
call fcn.004ba530
mov edx, dword [esp + 0x138]
add esp, 0xc
mov ecx, eax
movzx ebp, cx
cmp dword [edx], 0
jne 0x4c11f8
test ecx, ecx
jns 0x4c1017
mov esi, ecx
neg esi
cmp ecx, 0xffffffe6
jne 0x4c04d5
mov ebx, dword [esp + 0x14]
cmp word [ebx + 2], 0x5c
jne 0x4c04c8
cmp word [ebx + 4], 0x45
jne 0x4c04c8
add ebx, 4
jmp 0x4c118d
mov dword [esp + 0x5c], 1
jmp 0x4c118d
cmp esi, 0x19
je 0x4c100e
mov ebx, dword [esp + 0x24]
cmp ebx, 0xfffffffe
jne 0x4c04f9
lea eax, [esi - 6]
cmp eax, 0x10
mov eax, 0xffffffff
cmovbe ebx, eax
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x18], ebp
cmp esi, 0x1b
jne 0x4c0aec
mov ebx, dword [esp + 0x14]
mov ebp, 0x27
mov eax, dword [edi + 0x24]
add ebx, 2
mov dword [esp + 0x60], eax
lea esi, [ebx + 2]
mov dword [esp + 0x14], ebx
mov eax, 0x3e
mov dword [esp + 0x30], esi
mov ecx, esi
cmp word [ebx], 0x3c
cmove ebp, eax
xor eax, eax
mov dword [esp + 0x1c], eax
movzx eax, word [esi]
mov dword [esp + 0x2c], ebp
cmp eax, 0x2b
je 0x4c05db
cmp eax, 0x2d
je 0x4c05db
mov edi, 1
mov ebp, esi
mov edx, eax
test ax, ax
je 0x4c05c2
mov ecx, eax
nop dword [eax]
movzx esi, cx
movzx edx, cx
cmp esi, dword [esp + 0x2c]
je 0x4c05bc
mov eax, 0xff
cmp cx, ax
ja 0x4c05b7
mov eax, dword [esp + 0x140]
mov edx, 0
mov eax, dword [eax + 0xc]
test byte [esi + eax], 4
cmove edi, edx
test byte [esi + eax], 0x10
movzx edx, cx
je 0x4c05bc
movzx eax, word [ebp + 2]
add ebp, 2
mov ecx, eax
test ax, ax
jne 0x4c0570
mov edx, eax
jmp 0x4c05bc
xor edi, edi
movzx edx, cx
mov esi, dword [esp + 0x30]
mov ecx, esi
movzx eax, dx
cmp eax, dword [esp + 0x2c]
jne 0x4c1180
test edi, edi
je 0x4c03e5
mov ebx, esi
jmp 0x4c0613
movzx eax, word [ebx + 4]
lea ecx, [ebx + 4]
mov edx, eax
cmp eax, 0x30
jb 0x4c0604
nop dword [eax]
cmp dx, 0x39
ja 0x4c0604
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
cmp eax, 0x30
jae 0x4c05f0
movzx eax, word [ecx]
cmp eax, ebp
jne 0x4c1180
mov ebx, esi
mov ecx, ebx
mov dword [esp + 0x14], ebx
movzx edi, word [ebx]
mov ebp, edi
cmp edi, 0x2b
jne 0x4c06b0
lea ebx, [ecx + 2]
mov dword [esp + 0x14], ebx
movzx eax, word [ebx]
cmp eax, 0x30
jb 0x4c1483
cmp eax, 0x39
ja 0x4c1483
movzx ecx, word [ebx]
xor esi, esi
mov eax, ecx
cmp ecx, 0x30
jb 0x4c0676
mov edx, ecx
nop
movzx eax, dx
cmp dx, 0x39
ja 0x4c0676
movzx eax, dx
lea ecx, [esi - 6]
add ebx, 2
lea ecx, [esi + ecx*4]
mov dword [esp + 0x14], ebx
lea esi, [eax + ecx*2]
movzx eax, word [ebx]
mov edx, eax
cmp eax, 0x30
jae 0x4c0650
movzx eax, ax
cmp eax, dword [esp + 0x2c]
jne 0x4c1560
cmp edi, 0x2d
jne 0x4c0acc
test esi, esi
je 0x4c153d
mov edi, dword [esp + 0x140]
mov eax, dword [edi + 0x38]
sub eax, esi
lea esi, [eax + 1]
test esi, esi
jle 0x4c15f4
jmp 0x4c0d38
cmp edi, 0x2d
jne 0x4c0641
movzx eax, word [esi + 2]
mov ecx, edi
cmp eax, 0x30
jb case.0x4bf8f8.47
cmp eax, 0x39
ja case.0x4bf8f8.47
lea ebx, [esi + 2]
mov dword [esp + 0x14], ebx
jmp 0x4c0641
xor esi, esi
movzx eax, cx
xor ebp, ebp
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], ebp
lea edx, [esp + 0xbc]
cmp cx, 0x29
je 0x4c0789
movzx esi, cx
nop word [eax + eax]
movzx eax, si
cmp si, 0x3a
je 0x4c077b
movzx eax, si
add ebx, 2
sub eax, 0x2d
mov dword [esp + 0x14], ebx
cmp eax, 0x4b
ja case.0x4c072a.46
movzx eax, byte [eax + 0x4c1914]
jmp dword [eax*4 + 0x4c18f0]
lea edx, [esp + 0xc0]
jmp 0x4c076f
mov eax, dword [esp + 0x140]
or dword [edx], 0x80000
or dword [eax + 0x50], 0x400
jmp 0x4c076f
or dword [edx], 1
jmp 0x4c076f
or dword [edx], 2
jmp 0x4c076f
or dword [edx], 4
jmp 0x4c076f
or dword [edx], 8
jmp 0x4c076f
or dword [edx], 0x200
jmp 0x4c076f
or dword [edx], 0x40
movzx eax, word [ebx]
mov ecx, eax
mov esi, eax
cmp ecx, 0x29
jne 0x4c0700
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xc0]
or ebp, dword [esp + 0x44]
not esi
and ebp, esi
mov dword [esp + 0x50], ebp
cmp ax, 0x29
jne 0x4c081a
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + 0x14]
add eax, 4
cmp edx, eax
jne 0x4c07c9
mov eax, dword [esp + 0x144]
test eax, eax
je 0x4c07c4
cmp dword [eax], 4
jne 0x4c07c9
mov dword [ecx + 0x4c], ebp
jmp 0x4c07f1
mov eax, ebp
shr eax, 9
and eax, 1
mov dword [esp + 0xc4], eax
xor eax, 1
mov dword [esp + 0xc8], eax
mov eax, ebp
and eax, 1
shl eax, 0x1c
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xe4]
add ebx, 2
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x44], ebp
mov dword [eax], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x28], 0
jmp 0x4bcd66
mov eax, dword [esp + 0x10]
add ebx, 2
mov dword [esp + 0x14], ebx
mov ecx, 0x7d
xor ebx, ebx
mov dword [esp + 0x28], eax
mov word [eax], cx
mov dword [esp + 0x48], eax
mov dword [esp + 0x6c], ebx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x140]
mov edi, dword [eax + 0x54]
mov esi, dword [eax + 0x38]
xor ecx, ecx
xor ebp, ebp
lea eax, [esp + 0x6c]
cmp dword [esp + 0x144], ebp
cmove eax, ebp
mov ebp, dword [esp + 0x34]
push eax
push dword [esp + 0x144]
lea eax, [esp + 0x84]
push dword [esp + 0x140]
push eax
lea eax, [esp + 0xb4]
push eax
xor eax, eax
cmp ebp, 0x81
sete al
add eax, dword [esp + 0x150]
push eax
push edx
push ebx
push ecx
push dword [esp + 0x150]
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x3c]
push eax
lea edx, [esp + 0x74]
call fcn.004c1960
add esp, 0x2c
test eax, eax
je 0x4c11f8
cmp ebp, 0x7b
jne 0x4c0967
mov eax, dword [esp + 0x140]
cmp dword [eax + 0x38], esi
jg 0x4c08e0
mov eax, dword [esp + 0x10]
mov ecx, 0x7c
mov word [eax], cx
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x14]
cmp word [ebx], 0x29
jne 0x4c151a
mov edx, dword [esp + 0x144]
test edx, edx
je 0x4c09f1
mov esi, dword [esp + 0x6c]
mov ecx, 0x7fffffeb
mov edx, dword [edx]
sub ecx, edx
lea eax, [esi - 4]
cmp ecx, eax
jl 0x4c1678
mov ecx, dword [esp + 0x144]
lea eax, [esi - 4]
mov ebp, dword [esp + 0x18]
add eax, edx
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
mov dword [ecx], eax
mov eax, 2
mov ecx, dword [esp + 0x140]
mov dword [edx + 2], 0x720002
mov word [edx + 6], ax
add edx, 8
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], edx
add ebx, eax
jmp 0x4bcd66
cmp ebp, 0x7a
ja 0x4c097b
mov eax, dword [esp + 0x140]
dec dword [eax + 0x48]
jmp 0x4c08e0
cmp ebp, 0x81
jne 0x4c08e0
cmp dword [esp + 0x144], 0
jne 0x4c08e0
mov ebx, dword [esp + 0x10]
xor edx, edx
mov ecx, ebx
nop dword [eax]
movzx eax, word [ecx + 2]
inc edx
cmp word [ecx + eax*2], 0x72
lea ecx, [ecx + eax*2]
jne 0x4c09a0
mov eax, 0x8b
cmp word [ebx + 4], ax
jne 0x4c09ca
cmp edx, 1
jg 0x4c14cc
mov ebp, eax
jmp 0x4c08e0
cmp edx, 2
jg 0x4c14f3
cmp edx, 1
jne 0x4c08e0
or eax, 0xffffffff
or ecx, eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0xa4], ecx
jmp 0x4c08eb
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], edx
cmp ebp, 0x8b
je 0x4c0ab5
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], edx
mov dword [esp + 0x58], esi
mov dword [esp + 0xb0], 0
cmp ebp, 0x7b
jb 0x4c0a8d
cmp esi, 0xfffffffe
jne 0x4c0a5a
test ecx, ecx
js 0x4c0a4d
mov esi, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0xb0], 1
mov dword [esp + 0x58], 0xffffffff
jmp 0x4c0a6a
or esi, 0xffffffff
mov dword [esp + 0x24], esi
mov dword [esp + 0x58], esi
jmp 0x4c0a6a
test ecx, ecx
js 0x4c0a6a
test eax, eax
jns 0x4c0a6e
mov eax, ecx
or eax, edi
mov dword [esp + 0x7c], eax
test eax, eax
js 0x4c0a72
mov dword [esp + 0x40], eax
mov ebp, dword [esp + 0x18]
add ebx, 2
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
jmp 0x4bcd66
cmp ebp, 0x77
jne 0x4c0a72
test eax, eax
js 0x4c0a72
mov ebp, dword [esp + 0x18]
add ebx, 2
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x40], eax
jmp 0x4bcd66
mov ebp, dword [esp + 0x18]
add ebx, 2
mov ecx, dword [esp + 0x140]
mov edi, dword [esp + 0x38]
jmp 0x4bcd66
cmp ebp, 0x2b
jne 0x4c0d31
test esi, esi
je 0x4c153d
mov edi, dword [esp + 0x140]
add esi, dword [edi + 0x38]
jmp 0x4c0d38
cmp esi, 0x1c
jne 0x4c0e91
mov ebx, dword [esp + 0x14]
movzx eax, word [ebx + 2]
cmp eax, 0x3c
je 0x4c0b2d
cmp eax, 0x27
je 0x4c0b2d
cmp eax, 0x7b
je 0x4c0b2d
mov ecx, dword [esp + 0x140]
add ebx, 2
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
mov dword [edx], 0x45
mov edx, dword [esp + 0x10]
jmp 0x4bcd66
add ebx, 2
mov dword [esp + 0x30], 0
mov dword [esp + 0x14], ebx
movzx eax, word [ebx]
cmp eax, 0x3c
jne 0x4c0b4e
mov dword [esp + 0x2c], 0x3e
jmp 0x4c0b62
cmp eax, 0x27
mov edx, 0x7d
mov eax, 0x27
cmove edx, eax
mov dword [esp + 0x2c], edx
add ebx, 2
mov edx, 0xff
mov dword [esp + 0x14], ebx
mov edi, ebx
mov dword [esp + 0x50], edi
mov ecx, edi
movzx eax, word [ebx]
mov esi, eax
cmp ax, dx
ja 0x4c0bbe
mov ecx, dword [esp + 0x140]
mov edx, eax
mov edi, dword [ecx + 0xc]
mov ecx, ebx
mov ebp, ebx
movzx eax, dx
movzx esi, dx
test byte [eax + edi], 0x10
je 0x4c0bba
lea ebx, [ebp + 2]
mov dword [esp + 0x14], ebx
mov ebp, ebx
movzx eax, word [ebx]
mov ecx, eax
mov esi, eax
mov eax, 0xff
mov edx, ecx
cmp cx, ax
mov ecx, ebx
jbe 0x4c0b90
mov edi, dword [esp + 0x50]
sub ecx, edi
sar ecx, 1
cmp dword [esp + 0x144], 0
mov dword [esp + 0x64], ecx
je 0x4c0c2a
test ecx, ecx
je 0x4c15a6
movzx eax, si
cmp eax, dword [esp + 0x2c]
jne 0x4c1583
cmp ecx, 0x20
jg 0x4c01c6
mov eax, dword [esp + 0x140]
mov edx, edi
mov edi, dword [esp + 0x140]
push ecx
mov esi, dword [eax + 0x1c]
mov dword [eax + 0x1c], ebx
mov eax, dword [esp + 0x48]
shr eax, 3
and eax, 1
push eax
push ecx
mov ecx, edi
call fcn.004bb210
mov dword [edi + 0x1c], esi
add esp, 0xc
xor esi, esi
test eax, eax
cmovns esi, eax
jmp 0x4c0cd4
mov eax, dword [esp + 0x140]
xor ebp, ebp
mov ebx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x70], eax
test eax, eax
jle 0x4c0c9a
lea esi, [ebx + 2]
mov edx, ecx
test ecx, ecx
je 0x4c0c6e
nop word [eax + eax]
movzx ecx, word [edi]
lea edi, [edi + 2]
movzx eax, word [esi]
lea esi, [esi + 2]
dec edx
cmp cx, ax
jne 0x4c0c78
test edx, edx
jne 0x4c0c50
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x70]
cmp word [ebx + ecx*2 + 2], 0
je 0x4c0c96
jmp 0x4c0c7c
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x140]
inc ebp
mov edi, dword [esp + 0x50]
mov eax, dword [eax + 0x30]
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x70]
cmp ebp, eax
jl 0x4c0c41
mov edi, dword [esp + 0x50]
cmp ebp, eax
jge 0x4c0caa
movzx esi, word [ebx]
mov edi, dword [esp + 0x140]
jmp 0x4c0cd4
mov eax, dword [esp + 0x44]
mov edx, edi
mov edi, dword [esp + 0x140]
push ecx
shr eax, 3
and eax, 1
push eax
push ecx
mov ecx, edi
call fcn.004bb210
mov esi, eax
add esp, 0xc
test esi, esi
jle 0x4c15f0
cmp dword [esp + 0x30], 0
jne 0x4c0d38
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
cmp ebx, 0xfffffffe
mov eax, 0xffffffff
mov dword [esp + 0x28], edx
cmove ebx, eax
test byte [esp + 0x44], 1
mov eax, 0
mov dword [esp + 0x24], ebx
setne al
add eax, 0x6d
mov word [edx], ax
mov word [edx + 2], si
add edx, 4
mov dword [esp + 0x10], edx
cmp esi, 0x20
jge 0x4c0ea6
mov ebx, 1
mov ecx, esi
mov eax, ebx
shl eax, cl
jmp 0x4c0ead
mov edi, dword [esp + 0x140]
cmp dword [esp + 0x144], 0
mov eax, dword [esp + 0x10]
mov edi, dword [edi + 0x14]
mov dword [esp + 0x28], eax
jne 0x4c0e3b
mov ebx, dword [esp + 0x140]
xor ecx, ecx
mov word [eax], cx
test esi, esi
je 0x4c0d73
mov ecx, dword [ebx + 0x14]
push esi
call fcn.004bb6c0
mov edi, eax
add esp, 4
mov eax, dword [esp + 0x10]
test edi, edi
jne 0x4c0dee
mov eax, dword [esp + 0x44]
xor edx, edx
push ecx
shr eax, 3
mov ecx, ebx
and eax, 1
push eax
push esi
call fcn.004bb210
add esp, 0xc
test eax, eax
js 0x4c15f0
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x34]
lea edi, [eax + esi*2]
mov eax, dword [ebx + 0x10]
lea eax, [eax + ecx*2]
add eax, 0xffffff38
cmp dword [ebx + 0x24], eax
jb 0x4c0dcd
mov ecx, ebx
call fcn.004ba400
mov ecx, dword [esp + 0x12c]
mov dword [ecx], eax
test eax, eax
jne 0x4c11f8
mov edx, dword [esp + 0x10]
mov ecx, edx
sub ecx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x24]
add ecx, 2
sar ecx, 1
mov word [eax], cx
mov ecx, dword [esp + 0x140]
add dword [ecx + 0x24], 2
jmp 0x4c0e46
cmp word [edi + 2], 0
jne 0x4c0e3b
cmp dword [esp + 0x13c], 0
jg 0x4c0e3b
mov ecx, dword [esp + 0x138]
mov esi, ecx
test ecx, ecx
je 0x4c15c9
mov ecx, dword [esi + 4]
cmp ecx, edi
jb 0x4c15c9
push ebx
push ecx
mov edx, eax
call fcn.004bb860
add esp, 8
test eax, eax
je 0x4c0e3b
mov esi, dword [esi]
test esi, esi
je 0x4c15c9
mov eax, dword [esp + 0x10]
jmp 0x4c0e10
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x140]
mov esi, dword [esp + 0x24]
mov eax, 0x6f
mov word [edx], ax
sub edi, dword [ecx + 0x14]
sar edi, 1
mov word [edx + 2], di
add edx, 4
mov dword [esp + 0x10], edx
mov dword [esp + 0xb0], 0
cmp esi, 0xfffffffe
jne 0x4c1122
mov ebx, dword [esp + 0x14]
or esi, 0xffffffff
mov ebp, dword [esp + 0x18]
add ebx, 2
mov edi, dword [esp + 0x38]
mov dword [esp + 0x24], esi
jmp 0x4bcd66
cmp esi, 0x23
jl 0x4c0f0b
mov esi, 0xffffffdd
sub esi, ecx
jmp 0x4c0ce3
mov eax, 1
mov ebx, eax
or dword [edi + 0x44], eax
cmp esi, dword [edi + 0x40]
jle 0x4c0eb8
mov dword [edi + 0x40], esi
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4c1117
movzx eax, word [ecx + 4]
cmp eax, esi
je 0x4c0eec
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4c0ec3
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x140]
add ebx, 2
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
jmp 0x4bcd66
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
mov word [ecx + 6], bx
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x140]
add ebx, 2
jmp 0x4bcd66
cmp esi, 0xf
je 0x4c0f94
cmp esi, 0x10
je 0x4c0f94
lea eax, [esi - 0x1d]
cmp eax, 5
ja 0x4c0f5a
mov edi, dword [esp + 0x14]
lea eax, [ecx*4 + 0x74]
mov edx, dword [esp + 0x10]
mov ecx, 0x4d3364
mov esi, dword [esp + 0x24]
sub ecx, eax
add edi, 2
mov dword [esp + 0x38], edi
mov ebx, dword [ecx]
mov ecx, dword [esp + 0x140]
sub ebx, 2
add ebx, 2
jmp 0x4bcd66
mov ecx, dword [esp + 0x140]
lea eax, [esi - 6]
mov edi, dword [esp + 0x38]
xor edx, edx
cmp eax, 0x10
cmovbe edx, dword [esp + 0x10]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x10]
mov word [edx], si
add edx, 2
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
add ebx, 2
mov dword [esp + 0x10], edx
jmp 0x4bcd66
push edx
lea eax, [esp + 0xf0]
push eax
lea edx, [esp + 0xf0]
lea ecx, [esp + 0x1c]
call fcn.004bac00
add esp, 8
test eax, eax
js 0x4c11f8
mov ebx, dword [esp + 0x10]
xor ecx, ecx
mov edi, dword [esp + 0x38]
cmp esi, 0x10
mov esi, dword [esp + 0x24]
sete cl
mov dword [esp + 0x28], ebx
xor edx, edx
cmp ecx, dword [esp + 0xe8]
mov ecx, dword [esp + 0x140]
setne dl
add edx, 0xf
mov word [ebx], dx
mov edx, ebx
mov word [edx + 2], ax
mov ax, word [esp + 0xec]
mov word [edx + 4], ax
add edx, 6
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], edx
add ebx, 2
jmp 0x4bcd66
mov ebx, dword [esp + 0x14]
jmp 0x4c118d
cmp ecx, 0xffff
jle 0x4c107b
mov eax, ecx
and eax, 0xf800
cmp eax, 0xd800
je 0x4be4a6
cmp ecx, 0x110000
jae 0x4be4a6
cmp ecx, 0xffff
jbe 0x4be4ab
sub ecx, 0x10000
mov ebp, ecx
and ecx, 0x3ff
shr ebp, 0xa
or ebp, 0xd800
or ecx, 0xdc00
mov word [esp + 0xcc], bp
mov word [esp + 0xce], cx
jmp 0x4be439
mov edx, 1
mov word [esp + 0xcc], bp
jmp 0x4be43e
mov ecx, dword [esp + 0x140]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x80]
cmp esi, 0xfffffffe
jne 0x4c1136
mov edi, dword [esp + 0x40]
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x18], edi
cmp edx, 1
je 0x4c10e6
test eax, eax
je 0x4c10e6
mov ebx, dword [esp + 0x14]
or esi, 0xffffffff
mov edx, dword [esp + 0x10]
mov ebp, edi
mov edi, dword [esp + 0x38]
add ebx, 2
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x24], esi
jmp 0x4bcd66
movzx esi, bp
or esi, eax
cmp edx, 1
mov edx, dword [esp + 0x10]
mov dword [esp + 0x24], esi
je 0x4c1122
movzx edi, word [edx - 2]
or edi, dword [ecx + 0x54]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
add ebx, 2
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x38]
jmp 0x4bcd66
mov ecx, dword [esp + 0x140]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
add ebx, 2
mov edi, dword [esp + 0x38]
jmp 0x4bcd66
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x58], esi
mov dword [esp + 0x18], ebp
cmp edx, 1
je 0x4c115f
test eax, eax
je 0x4c115f
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add ebx, 2
mov edi, dword [esp + 0x38]
jmp 0x4bcd66
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
movzx edi, word [edx - 2]
or edi, dword [ecx + 0x54]
or edi, eax
add ebx, 2
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x38]
jmp 0x4bcd66
mov eax, dword [esp + 0x12c]
mov dword [eax], 0x39
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x10]
add ebx, 2
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
jmp 0x4bcd66
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x1f
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 7
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov dword [eax], 0x47
mov esi, dword [esp + 0x128]
xor eax, eax
mov ebx, dword [esp + 0x14]
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov esi, dword [esp + 0x128]
xor eax, eax
mov dword [edi], 8
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 6
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
cmp esi, 0x3a
mov ecx, 0xd
mov esi, dword [esp + 0x128]
mov eax, 0x1f
cmove eax, ecx
mov ecx, dword [esp + 0x12c]
mov dword [esi], ebx
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0xb
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov esi, dword [esp + 0x12c]
xor eax, eax
mov dword [esi], 9
mov esi, dword [esp + 0x128]
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x42
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x3b
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov esi, dword [esp + 0x128]
test ecx, ecx
mov ecx, dword [esp + 0x12c]
mov eax, 0xf
mov ebx, dword [esp + 0x14]
mov edx, 0x23
cmove eax, edx
mov dword [esi], ebx
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
lea ebx, [ecx - 2]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x1a
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x1c
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
add ebx, 2
mov esi, dword [esp + 0x128]
mov dword [eax], 0x18
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x27
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x26
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x29
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x31
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x2b
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x41
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x3f
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
add ebx, 0xfffffffe
mov esi, dword [esp + 0x128]
mov dword [eax], 0xc
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov ebx, dword [esp + 0x14]
mov dword [eax], 0x36
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov ebx, dword [esp + 0x14]
mov dword [eax], 0x1b
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0xe
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x3a
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x1d
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x2a
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x3e
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov ebx, dword [esp + 0x14]
mov dword [eax], 0x28
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0xf
xor eax, eax
mov dword [esi], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x128]
mov dword [eax], ecx
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x40]
mov dword [esi], ebx
mov dword [eax], ecx
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x144]
mov dword [eax], edx
test ecx, ecx
je 0x4c1668
sub edx, dword [esp + 0xa8]
mov ebp, 0x7fffffeb
mov eax, dword [ecx]
sub ebp, eax
sar edx, 1
cmp ebp, edx
jl 0x4c167f
add eax, edx
mov dword [ecx], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov esi, dword [esp + 0x128]
mov eax, dword [esp + 0x12c]
mov dword [esi], ebx
mov dword [eax], 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov dword [eax], 0x34
mov esi, dword [esp + 0x128]
pop edi
mov dword [esi], ebx
xor eax, eax
pop esi
pop ebp
pop ebx
add esp, 0x114
ret