Function at 0x4bc1c0
Capabilities:
Authenticate hmac
Encode data using base64
Parse credit card information

Disassembly:
sub esp, 0x11c
mov eax, ecx
mov dword [esp + 0xe8], edx
mov edx, dword [edx]
xor ecx, ecx
push ebx
mov ebx, dword [esp + 0x124]
mov dword [esp + 0xe0], eax
mov eax, dword [eax]
mov dword [esp + 0x70], ecx
mov ebx, dword [ebx]
mov dword [esp + 0x54], ecx
mov ecx, eax
push ebp
shr ecx, 9
mov ebp, 0xfffffffe
and ecx, 1
mov dword [esp + 0x34], eax
push esi
xor esi, esi
mov dword [esp + 0xc8], ecx
push edi
xor edi, edi
mov dword [esp + 0x68], 0
xor ecx, 1
mov dword [esp + 0x4c], 0
and eax, 1
mov dword [esp + 0xbc], esi
shl eax, 0x1c
mov dword [esp + 0x70], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xb4], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x5c], 0xfffffffe
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x84], eax
mov dword [esp + 0xb8], 0xff
movsd xmm2, qword [0x4f1fa8]
mov dword [esp + 0x18], ebx
movzx esi, word [ebx]
test esi, esi
jne 0x4bc2a7
test edi, edi
je 0x4bc2a7
mov ebx, edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x18], ebx
movzx esi, word [ebx]
mov edi, dword [esp + 0x148]
mov ecx, dword [edi + 0x34]
mov eax, dword [edi + 0x10]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x14c]
add eax, 0xffffff38
test ecx, ecx
je 0x4bc38a
cmp edx, eax
ja 0x4c0980
mov eax, dword [esp + 0xc0]
cmp edx, eax
cmovb edx, eax
mov ecx, edx
mov dword [esp + 0x14], edx
sub ecx, eax
mov eax, dword [esp + 0x14c]
sar ecx, 1
mov edx, dword [eax]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x4c095d
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x20]
mov dword [ecx], eax
test edx, edx
je 0x4bc376
cmp edx, dword [esp + 0xb4]
jbe 0x4bc369
mov ebx, dword [esp + 0x14]
mov eax, ebx
sub eax, edx
and eax, 0xfffffffe
push eax
push edx
push dword [esp + 0xbc]
call sub.VCRUNTIME140.dll_memmove
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0xb4]
sub edx, eax
movsd xmm2, qword [0x4f1fa8]
mov ecx, dword [esp + 0x14c]
sar edx, 1
neg edx
mov dword [esp + 0x20], eax
lea ebx, [ebx + edx*2]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc0], edx
jmp 0x4bc393
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc0], edx
jmp 0x4bc393
cmp dword [edi + 0x24], eax
ja 0x4c0980
cmp dword [esp + 0x64], 0
je 0x4bc49b
test esi, esi
je 0x4bc49b
cmp esi, 0x5c
jne 0x4bc3c9
cmp word [ebx + 2], 0x45
jne 0x4bc3c9
mov edi, dword [esp + 0x34]
add ebx, 2
mov dword [esp + 0x64], 0
add ebx, 2
jmp 0x4bc283
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4bc3ee
test ecx, ecx
jne 0x4bc3e6
sub ebx, dword [edi + 0x18]
sar ebx, 1
sub bx, word [eax + 8]
mov word [eax + 0xa], bx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x7c], 0
test dword [esp + 0x3c], 0x4000
je case.0x4bc675.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 + 0x18]
mov dword [esp + 0x7c], edx
add edx, 0xc
mov dword [esp + 0x14], edx
mov bp, si
mov ecx, edx
and esi, 0xfc00
mov dword [esp + 0x20], ecx
mov word [esp + 0xd4], bp
mov edx, 1
cmp esi, 0xd800
jne 0x4bd8b0
mov ax, word [ebx + 2]
add ebx, 2
mov esi, 0xfc00
and ax, si
mov esi, 0xdc00
cmp ax, si
jne 0x4bd8b0
test byte [esp + 0x3c], 1
mov edx, 2
mov dword [esp + 0x18], ebx
mov ax, word [ebx]
mov word [esp + 0xd6], ax
mov eax, 0
setne al
add eax, 0x1d
mov word [ecx], ax
lea eax, [ecx + 2]
mov dword [esp + 0x14], eax
jmp 0x4bd8d6
cmp esi, 0x2a
je 0x4bc50a
cmp esi, 0x2b
je 0x4bc50a
cmp esi, 0x3f
je 0x4bc50a
cmp esi, 0x7b
jne 0x4bc4bb
lea ecx, [ebx + 2]
call fcn.004b9a10
test eax, eax
jne 0x4bc50a
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x30], 0
test edx, edx
je 0x4bc512
mov ecx, dword [esp + 0xbc]
mov eax, ecx
dec ecx
mov dword [esp + 0xbc], ecx
xor ecx, ecx
mov dword [esp + 0x30], ecx
test eax, eax
jg 0x4bc512
cmp dword [esp + 0x14c], ecx
jne 0x4bc500
sub ebx, dword [edi + 0x18]
sar ebx, 1
sub bx, word [edx + 8]
mov word [edx + 0xa], bx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x30], ecx
jmp 0x4bc512
mov dword [esp + 0x30], 1
mov ecx, dword [esp + 0x3c]
test cl, 8
je 0x4bc624
mov eax, 0xff
cmp word [ebx], ax
ja 0x4bc536
mov eax, dword [edi + 0xc]
test byte [esi + eax], 1
jne 0x4bec37
cmp esi, 0x23
jne 0x4bc624
add ebx, 2
mov dword [esp + 0x18], ebx
movzx eax, word [ebx]
test ax, ax
je 0x4bc618
mov esi, ebx
mov edi, ebx
mov ebp, eax
nop dword [eax + eax]
mov eax, dword [esp + 0x148]
mov edx, dword [eax + 0x60]
mov ecx, dword [eax + 0x1c]
test edx, edx
je 0x4bc5a7
mov edi, eax
cmp esi, ecx
lea esi, [edi + 0x64]
jae 0x4bc593
push 1
push esi
push ecx
mov ecx, ebx
call fcn.004cb1e0
add esp, 0xc
test eax, eax
je 0x4bc593
mov eax, 1
jmp 0x4bc595
xor eax, eax
test eax, eax
je 0x4bc5d2
mov eax, dword [esi]
lea ebx, [ebx + eax*2]
add ebx, 0xfffffffe
mov dword [esp + 0x18], ebx
jmp 0x4bc610
mov edx, dword [eax + 0x64]
lea esi, [eax + 0x64]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x4bc5d2
mov edi, dword [esp + 0x148]
cmp bp, word [edi + 0x68]
jne 0x4bc5d2
cmp edx, 1
je 0x4bc599
mov ax, word [ebx + 2]
cmp ax, word [edi + 0x6a]
je 0x4bc599
add ebx, 2
mov ecx, 0xfc00
mov dword [esp + 0x18], ebx
mov esi, ebx
mov ax, word [ebx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4bc5f9
lea ebx, [esi + 2]
mov dword [esp + 0x18], ebx
mov esi, ebx
movzx eax, word [ebx]
mov edi, esi
mov ebp, eax
test ax, ax
jne 0x4bc560
mov edi, dword [esp + 0x148]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x1c]
cmp word [ebx], 0
jne 0x4bec37
xor esi, esi
test ecx, 0x4000
mov ecx, dword [esp + 0x30]
je 0x4bc661
test ecx, ecx
jne 0x4bc661
mov eax, dword [esp + 0x14]
mov dword [esp + 0x7c], 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 + 0x18]
mov dword [esp + 0x14], edx
jmp 0x4bc665
mov edx, dword [esp + 0x14]
cmp esi, 0x7c
ja case.0x4bc675.1
movzx eax, byte [esi + 0x4c09d8]
jmp dword [eax*4 + 0x4c09a4]
test byte [esp + 0x3c], 2
mov dword [esp + 0x20], 0
je 0x4bc6bd
mov eax, dword [esp + 0x48]
mov ecx, 0xffffffff
mov edi, dword [esp + 0x34]
cmp eax, 0xfffffffe
cmove eax, ecx
mov dword [esp + 0x48], eax
mov eax, 0x1a
mov word [edx], ax
add edx, 2
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
add ebx, 2
jmp 0x4bc283
mov edi, dword [esp + 0x34]
mov eax, 0x19
mov word [edx], ax
add edx, 2
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
add ebx, 2
jmp 0x4bc283
test byte [esp + 0x3c], 2
mov eax, 0
mov edi, dword [esp + 0x34]
setne al
mov dword [esp + 0x20], 0
add eax, 0x1b
mov word [edx], ax
add edx, 2
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
add ebx, 2
jmp 0x4bc283
mov ecx, dword [esp + 0x48]
mov eax, 0xffffffff
mov edi, dword [esp + 0x34]
cmp ecx, 0xfffffffe
mov dword [esp + 0x20], edx
cmove ecx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
mov ebp, ecx
mov eax, dword [esp + 0x3c]
shr eax, 2
and eax, 1
mov dword [esp + 0x48], ecx
or eax, 0xc
mov dword [esp + 0x1c], ebp
mov word [edx], ax
add edx, 2
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
add ebx, 2
jmp 0x4bc283
test dword [edi + 0x4c], 0x2000000
je case.0x4bc675.1
mov eax, dword [esp + 0x134]
mov dword [eax], 0x40
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
movzx esi, word [ebx + 2]
mov dword [esp + 0x20], edx
cmp esi, 0x3a
je 0x4bc7a1
cmp esi, 0x2e
je 0x4bc7a1
cmp esi, 0x3d
jne 0x4bc7b7
lea edx, [esp + 0x80]
mov ecx, ebx
call fcn.004bb1b0
test eax, eax
jne 0x4c0559
xor edx, edx
mov dword [esp + 0x30], edx
nop dword [eax]
add ebx, 2
mov dword [esp + 0x18], ebx
movzx ecx, word [ebx]
mov dword [esp + 0x28], ecx
cmp ecx, 0x5c
jne 0x4bc80f
cmp word [ebx + 2], 0x45
lea esi, [ebx + 2]
jne 0x4bc7e1
mov ebx, esi
jmp 0x4bc7c0
mov edx, 3
mov edi, 0x4f1e78
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 0x4bc81d
test edx, edx
jne 0x4bc7f0
mov edx, dword [esp + 0x30]
add ebx, 6
jmp 0x4bc7c0
test edx, edx
jne 0x4bc825
cmp ecx, 0x5e
jne 0x4bc825
lea edx, [ecx - 0x5d]
jmp 0x4bc7b9
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
cmp ecx, 0x5d
jne 0x4bc880
mov eax, dword [esp + 0x148]
test dword [eax + 0x4c], 0x2000000
je 0x4bc880
mov edi, dword [esp + 0x34]
test edx, edx
mov edx, dword [esp + 0x14]
mov ecx, 0xd
mov eax, 0x97
cmovne eax, ecx
mov ecx, dword [esp + 0x48]
mov word [edx], ax
add edx, 2
mov ebx, dword [esp + 0x18]
cmp ecx, 0xfffffffe
mov eax, 0xffffffff
mov dword [esp + 0x14], edx
cmove ecx, eax
mov ebp, ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x1c], ebp
add ebx, 2
jmp 0x4bc283
mov esi, dword [esp + 0x14]
xor edx, edx
add esi, 6
mov dword [esp + 0x58], edx
xor edi, edi
mov dword [esp + 0x1c], edx
xor ebp, ebp
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ebp
xorps xmm0, xmm0
mov dword [esp + 0x38], esi
mov dword [esp + 0x74], esi
movups xmmword [esp + 0x8c], xmm0
movups xmmword [esp + 0x9c], xmm0
test ecx, ecx
je 0x4c0536
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4bc908
movzx ecx, word [ebx]
mov eax, ecx
mov dword [esp + 0x28], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4bc908
movzx eax, word [ebx + 2]
add ebx, 2
and ecx, 0x3ff
mov dword [esp + 0x18], ebx
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x14c], 0
je 0x4bc92d
sub esi, dword [esp + 0x74]
mov edi, dword [esp + 0x14c]
sar esi, 1
add dword [edi], esi
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x38], esi
cmp dword [esp + 0x64], 0
je 0x4bc958
cmp ecx, 0x5c
jne 0x4bd04f
cmp word [ebx + 2], 0x45
jne 0x4bd04f
mov dword [esp + 0x64], 0
add ebx, 2
jmp 0x4bca83
cmp ecx, 0x5b
jne 0x4bcc15
movzx esi, word [ebx + 2]
cmp esi, 0x3a
je 0x4bc978
cmp esi, 0x2e
je 0x4bc978
cmp esi, 0x3d
jne 0x4bd04f
lea edx, [esp + 0x80]
mov ecx, ebx
call fcn.004bb1b0
test eax, eax
je 0x4bd04b
mov dword [esp + 0x40], 0
cmp esi, 0x3a
jne 0x4c04ad
add ebx, 4
mov dword [esp + 0x18], ebx
mov eax, ebx
cmp word [ebx], 0x5e
jne 0x4bc9c7
add ebx, 2
mov dword [esp + 0x40], 1
mov dword [esp + 0x58], 1
mov eax, ebx
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x80]
mov edi, str.alpha
sub ebp, eax
mov dword [esp + 0x5c], edi
sar ebp, 1
mov al, 5
xor ecx, ecx
mov byte [esp + 0x7b], al
mov dword [esp + 0x50], ecx
nop word [eax + eax]
movzx eax, al
cmp ebp, eax
jne 0x4bcadc
mov edx, ebp
mov esi, ebx
test ebp, ebp
je 0x4bca21
movzx ecx, word [esi]
lea esi, [esi + 2]
movzx eax, byte [edi]
lea edi, [edi + 1]
dec edx
cmp cx, ax
jne 0x4bcad4
test edx, edx
jne 0x4bca03
mov ecx, dword [esp + 0x50]
test ecx, ecx
js 0x4bcaff
mov eax, dword [esp + 0x3c]
test al, 1
je 0x4bca39
xor edx, edx
cmp ecx, 2
cmovle ecx, edx
mov edi, dword [esp + 0x40]
test eax, 0x20000000
je 0x4bcb22
mov eax, edi
neg eax
sbb eax, eax
and eax, 0xe
add eax, ecx
mov eax, dword [eax*4 + 0x4d2380]
test eax, eax
je 0x4bcb22
mov edx, dword [esp + 0x80]
lea ebx, [eax - 2]
add edx, 2
mov dword [esp + 0x34], edx
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
add ebx, 2
mov dword [esp + 0x18], ebx
movzx ecx, word [ebx]
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x4bcabb
test eax, eax
je 0x4bd91e
lea ebx, [eax + 2]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], ebx
movzx ecx, word [ebx]
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x4c0536
cmp ecx, 0x5d
jne 0x4bc8c0
cmp dword [esp + 0x64], 0
jne 0x4bc8c0
jmp 0x4bd926
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x5c]
movzx eax, byte [esp + 0x7b]
inc ecx
inc eax
mov dword [esp + 0x50], ecx
add edi, eax
mov dword [esp + 0x5c], edi
mov al, byte [ecx + 0x4d32e4]
mov byte [esp + 0x7b], al
test al, al
jne 0x4bc9f0
mov eax, dword [esp + 0x134]
mov dword [eax], 0x1e
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov ebx, dword [esp + 0x148]
lea ecx, [ecx + ecx*2]
mov eax, dword [ecx*4 + 0x4d3128]
mov esi, dword [ecx*4 + 0x4d3130]
mov edx, dword [ebx + 8]
movups xmm0, xmmword [eax + edx]
movups xmmword [esp + 0xfc], xmm0
movups xmm0, xmmword [eax + edx + 0x10]
mov eax, dword [ecx*4 + 0x4d312c]
movups xmmword [esp + 0x10c], xmm0
test eax, eax
js 0x4bcb96
xor ecx, ecx
add edx, eax
test esi, esi
js 0x4bcb82
nop dword [eax]
mov al, byte [edx + ecx]
or byte [esp + ecx + 0xfc], al
inc ecx
cmp ecx, 0x20
jl 0x4bcb70
jmp 0x4bcb9c
mov al, byte [edx + ecx]
not al
and byte [esp + ecx + 0xfc], al
inc ecx
cmp ecx, 0x20
jl 0x4bcb82
jmp 0x4bcb9a
test esi, esi
jns 0x4bcb9c
neg esi
cmp esi, 1
jne 0x4bcbab
and byte [esp + 0xfd], 0xc3
jmp 0x4bcbb8
cmp esi, 2
jne 0x4bcbb8
and byte [esp + 0x107], 0x7f
xor ecx, ecx
test edi, edi
je 0x4bcbe0
nop
mov al, byte [esp + ecx + 0xfc]
not al
or byte [esp + ecx + 0x8c], al
inc ecx
cmp ecx, 0x20
jl 0x4bcbc0
jmp 0x4bcbf4
mov al, byte [esp + ecx + 0xfc]
or byte [esp + ecx + 0x8c], al
inc ecx
cmp ecx, 0x20
jl 0x4bcbe0
mov ebx, dword [esp + 0x80]
mov edi, 1
mov ebp, 2
mov dword [esp + 0x24], edi
add ebx, 2
mov dword [esp + 0x2c], ebp
jmp 0x4bca7b
cmp ecx, 0x5c
jne 0x4bd04f
mov ebx, dword [esp + 0x148]
lea ecx, [esp + 0x18]
mov edx, dword [esp + 0x134]
push 1
push dword [esp + 0x40]
push dword [ebx + 0x38]
call fcn.004b9ab0
mov ecx, eax
add esp, 0xc
mov eax, dword [esp + 0x134]
mov dword [esp + 0x28], ecx
cmp dword [eax], 0
jne 0x4c04f9
cmp ecx, 0xfffffffb
jne 0x4bcc6e
mov ecx, 8
mov dword [esp + 0x28], ecx
mov ebx, dword [esp + 0x18]
jmp 0x4bd04f
cmp ecx, 0xfffffff4
je 0x4c04f3
cmp ecx, 0xffffffe6
jne 0x4bcca3
mov ebx, dword [esp + 0x18]
cmp word [ebx + 2], 0x5c
jne 0x4bcc96
cmp word [ebx + 4], 0x45
jne 0x4bcc96
add ebx, 4
jmp 0x4bca7f
mov dword [esp + 0x64], 1
jmp 0x4bca7f
cmp ecx, 0xffffffe7
je 0x4bd7cc
test ecx, ecx
jns 0x4bcc65
mov edx, dword [ebx + 8]
mov eax, 0xfffffffa
inc edi
add ebp, 2
sub eax, ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ebp
cmp eax, 0x1c
ja case.0x4bccd6.6
movzx eax, byte [eax + 0x4c0a8c]
jmp dword [eax*4 + 0x4c0a58]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], eax
lea eax, [ecx*4 + 0x74]
mov ecx, 0x4d2364
sub ecx, eax
mov ebx, dword [ecx]
sub ebx, 2
dec edi
mov dword [esp + 0x24], edi
jmp 0x4bca7f
xor ecx, ecx
mov al, byte [edx + ecx + 0x40]
or byte [esp + ecx + 0x8c], al
inc ecx
cmp ecx, 0x20
jl 0x4bcd04
mov ebx, dword [esp + 0x18]
jmp 0x4bca7f
mov dword [esp + 0x58], 1
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [edx + ecx + 0x40]
not al
or byte [esp + ecx + 0x8c], al
inc ecx
cmp ecx, 0x20
jl 0x4bcd30
mov ebx, dword [esp + 0x18]
jmp 0x4bca7f
xor ecx, ecx
nop
mov al, byte [edx + ecx + 0xa0]
or byte [esp + ecx + 0x8c], al
inc ecx
cmp ecx, 0x20
jl 0x4bcd50
mov ebx, dword [esp + 0x18]
jmp 0x4bca7f
mov dword [esp + 0x58], 1
xor ecx, ecx
nop word [eax + eax]
mov al, byte [edx + ecx + 0xa0]
not al
or byte [esp + ecx + 0x8c], al
inc ecx
cmp ecx, 0x20
jl 0x4bcd80
mov ebx, dword [esp + 0x18]
jmp 0x4bca7f
movzx eax, byte [edx]
mov ecx, 2
or byte [esp + 0x8c], al
movzx eax, byte [edx + 1]
and al, 0xf7
or byte [esp + 0x8d], al
nop dword [eax + eax]
mov al, byte [edx + ecx]
or byte [esp + ecx + 0x8c], al
inc ecx
cmp ecx, 0x20
jl 0x4bcdc0
mov ebx, dword [esp + 0x18]
jmp 0x4bca7f
lea eax, [esp + 0x8c]
mov dword [esp + 0x58], 1
xor esi, esi
sub edx, eax
nop dword [eax]
lea ecx, [esp + 0x8c]
add ecx, esi
inc esi
mov al, byte [edx + ecx]
not al
or byte [ecx], al
cmp esi, 0x20
jl 0x4bcdf0
or byte [esp + 0x8d], 8
mov ebx, dword [esp + 0x18]
jmp 0x4bca7b
or byte [esp + 0x8d], 2
mov eax, 0x3000
or byte [esp + 0x90], 1
mov edx, 1
or byte [esp + 0xa0], 1
mov dword [esi], 0x16800001
mov dword [esi + 4], 0x180e0001
mov dword [esi + 8], 0x20000002
mov dword [esi + 0xc], 0x1200a
mov dword [esi + 0x10], 0x1202f
mov dword [esi + 0x14], 0x1205f
mov word [esi + 0x18], ax
add esi, 0x1a
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x38], esi
jmp 0x4bca83
xor edx, edx
nop dword [eax]
mov eax, edx
mov ecx, 0xff
sub eax, 1
je 0x4bce9d
sub eax, 3
je 0x4bce96
sub eax, 0x10
jne 0x4bcea2
mov ecx, 0xfe
jmp 0x4bcea2
mov ecx, 0xfd
or byte [esp + edx + 0x8c], cl
inc edx
cmp edx, 0x20
jl 0x4bce80
mov dword [esi], 0x1000002
mov edx, 1
mov dword [esi + 4], 0x2167f
mov dword [esi + 8], 0x180d1681
mov dword [esi + 0xc], 0x180f0002
mov dword [esi + 0x10], 0x21fff
mov dword [esi + 0x14], 0x202e200b
mov dword [esi + 0x18], 0x20300002
mov dword [esi + 0x1c], 0x2205e
mov dword [esi + 0x20], 0x2fff2060
mov dword [esi + 0x24], 0x30010002
mov dword [esi + 0x28], 0xdfffdbff
add esi, 0x2c
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x38], esi
jmp 0x4bca83
or byte [esp + 0x8d], 0x3c
mov eax, 0x2029
or byte [esp + 0x9c], 0x20
mov edx, 1
mov dword [esi], 0x20280002
mov word [esi + 4], ax
add esi, 6
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x38], esi
jmp 0x4bca83
xor ecx, ecx
nop
mov eax, ecx
mov edx, 0xff
sub eax, 1
je 0x4bcf68
sub eax, 0xf
jne 0x4bcf6d
mov edx, 0xdf
jmp 0x4bcf6d
mov edx, 0xc3
or byte [esp + ecx + 0x8c], dl
inc ecx
cmp ecx, 0x20
jl 0x4bcf50
mov dword [esi], 0x1000002
mov eax, 0xdfff
mov dword [esi + 4], 0x22027
mov edx, 1
mov dword [esi + 8], 0xdbff202a
mov word [esi + 0xc], ax
add esi, 0xe
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x38], esi
jmp 0x4bca83
push dword [esp + 0x134]
lea eax, [esp + 0xec]
push eax
lea edx, [esp + 0xec]
lea ecx, [esp + 0x20]
call fcn.004ba180
add esp, 8
test eax, eax
js 0x4c04f9
mov edi, dword [esp + 0x24]
xor ecx, ecx
cmp dword [esp + 0x28], 0xfffffff0
mov edx, 1
mov dword [esp + 0x1c], edx
sete cl
sub ecx, dword [esp + 0xe4]
neg ecx
sbb ecx, ecx
add ecx, 4
mov word [esi], cx
mov word [esi + 2], ax
mov ax, word [esp + 0xe8]
mov word [esi + 4], ax
add esi, 6
mov ebx, dword [esp + 0x18]
dec edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x24], edi
jmp 0x4bca83
test byte [esp + 0x3c], 0x40
mov ebx, dword [esp + 0x18]
jne 0x4c04d0
movzx ecx, word [ebx]
dec edi
sub ebp, 2
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ecx
jmp 0x4bd04f
mov ecx, dword [esp + 0x28]
cmp word [ebx + 2], 0x5c
jne 0x4bd075
cmp word [ebx + 4], 0x45
lea eax, [ebx + 4]
jne 0x4bd075
mov ebx, eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x18], ebx
cmp word [eax + 2], 0x5c
je 0x4bd056
mov ebp, ebx
mov dword [esp + 0x50], ebp
cmp ecx, 0xd
je 0x4bd085
cmp ecx, 0xa
jne 0x4bd093
mov eax, dword [esp + 0x148]
or dword [eax + 0x50], 0x800
mov edi, dword [esp + 0x64]
test edi, edi
jne 0x4bd5d5
cmp word [ebp + 2], 0x2d
jne 0x4bd5d5
lea ebx, [ebp + 4]
mov dword [esp + 0x18], ebx
mov edx, ebx
movzx eax, word [ebx]
mov dword [esp + 0x40], ebx
mov esi, eax
cmp eax, 0x5c
jne 0x4bd101
mov edi, eax
mov ebp, ebx
mov eax, ebx
nop word [eax + eax]
cmp word [eax + 2], 0x45
movzx esi, di
jne 0x4bd0f5
lea ebx, [ebp + 4]
mov dword [esp + 0x18], 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 0x4bd0d0
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x40], ebx
movzx eax, si
cmp si, 0x5c
jne 0x4bd158
movzx esi, si
nop dword [eax]
cmp word [ebx + 2], 0x51
movzx eax, si
jne 0x4bd16f
lea ebx, [edx + 4]
mov dword [esp + 0x18], ebx
movzx eax, word [ebx]
mov dword [esp + 0x40], ebx
cmp eax, 0x5c
jne 0x4bd14f
cmp word [ebx + 2], 0x45
jne 0x4bd14f
lea edx, [ebx + 4]
mov ebx, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x40], ebx
movzx ecx, word [ebx]
mov eax, ecx
mov esi, ecx
cmp eax, 0x5c
je 0x4bd110
jmp 0x4bd158
mov edi, 1
mov dword [esp + 0x64], edi
test ax, ax
je 0x4bd5cb
test edi, edi
jne 0x4bd16f
cmp ax, 0x5d
je 0x4bd5cb
movzx ecx, ax
mov eax, ecx
mov dword [esp + 0x5c], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4bd1ad
movzx eax, word [ebx + 2]
add ebx, 2
and ecx, 0x3ff
mov dword [esp + 0x40], ebx
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [esp + 0x18], ebx
add ecx, 0x10000
mov dword [esp + 0x5c], ecx
mov esi, dword [esp + 0x148]
test edi, edi
jne 0x4bd20a
cmp ecx, 0x5c
jne 0x4bd20a
mov ebx, dword [esp + 0x134]
lea ecx, [esp + 0x18]
push 1
push dword [esp + 0x40]
mov edx, ebx
push dword [esi + 0x38]
call fcn.004b9ab0
add esp, 0xc
mov edi, eax
cmp dword [ebx], 0
mov dword [esp + 0x5c], edi
jne 0x4c04f9
test edi, edi
jns 0x4bd200
cmp edi, 0xfffffffb
jne 0x4bd5cb
mov edi, 8
mov dword [esp + 0x5c], edi
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x40], ebx
jmp 0x4bd20e
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x28]
cmp edi, ecx
jl 0x4c0513
je 0x4bd5d5
cmp edi, 0xd
je 0x4bd22a
cmp edi, 0xa
jne 0x4bd231
or dword [esi + 0x50], 0x800
mov ebp, 2
mov dword [esp + 0x2c], ebp
cmp edi, 0xff
jg 0x4bd2e6
mov esi, dword [esp + 0x3c]
and esi, 1
je 0x4bd262
cmp edi, 0x7f
jle 0x4bd262
mov ebx, 1
mov dword [esp + 0x1c], ebx
jmp 0x4bd2f9
cmp dword [esp + 0x14c], 0
mov dword [esp + 0x24], 1
jne 0x4bd7e6
cmp ecx, edi
jg 0x4bca77
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x148]
nop dword [eax + eax]
mov edx, ebx
test edx, edx
jns 0x4bd299
add edx, 7
sar edx, 3
movzx ecx, byte [esp + edx + 0x8c]
mov eax, ebx
and eax, 7
bts ecx, eax
mov byte [esp + edx + 0x8c], cl
test esi, esi
je 0x4bd2d8
mov eax, dword [ebp + 4]
movzx edx, byte [eax + ebx]
mov ecx, edx
and edx, 7
shr ecx, 3
movzx eax, byte [esp + ecx + 0x8c]
bts eax, edx
mov byte [esp + ecx + 0x8c], al
inc ebx
cmp ebx, edi
jle 0x4bd290
mov ebx, dword [esp + 0x40]
jmp 0x4bca73
mov ebx, 1
mov dword [esp + 0x1c], ebx
test byte [esp + 0x3c], bl
je 0x4bd4ed
mov esi, ecx
mov ebp, edi
nop dword [eax]
mov edx, esi
cmp esi, ebp
ja 0x4bd4e5
nop word [eax + eax]
mov eax, edx
lea esi, [edx + 1]
shr eax, 7
movzx ecx, byte [eax + 0x4e0180]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
mov edi, dword [eax*8 + 0x4df0a4]
add edi, edx
cmp edi, edx
jne 0x4bd34e
mov edx, esi
cmp edx, ebp
ja 0x4bd4e1
mov ebx, dword [esp + 0x1c]
jmp 0x4bd310
mov dword [esp + 0x1c], ebx
lea edx, [edi + 1]
cmp esi, ebp
ja 0x4bd393
mov dword [esp + 0x1c], ebx
nop dword [eax]
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4e0180]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
mov eax, dword [eax*8 + 0x4df0a4]
add eax, esi
cmp eax, edx
jne 0x4bd397
inc esi
inc edx
cmp esi, ebp
jbe 0x4bd360
jmp 0x4bd397
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
dec edx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x64], eax
cmp edi, ecx
jb 0x4bd3b6
mov eax, dword [esp + 0x5c]
cmp edx, eax
jbe 0x4bd300
jmp 0x4bd3dc
lea eax, [ecx - 1]
cmp edx, eax
jb 0x4bd3d4
mov eax, dword [esp + 0x64]
mov ecx, edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x1c], ebx
jmp 0x4bd300
mov eax, dword [esp + 0x5c]
cmp edx, eax
jbe 0x4bd3f6
inc eax
cmp edi, eax
ja 0x4bd3f6
mov eax, dword [esp + 0x64]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x1c], ebx
jmp 0x4bd300
mov ecx, dword [esp + 0x38]
cmp edi, edx
jne 0x4bd40b
mov ebx, 1
mov word [ecx], bx
lea ebx, [ecx + 2]
jmp 0x4bd46d
mov eax, edi
mov ebx, 2
and eax, 0xf800
mov word [ecx], bx
lea ebx, [ecx + 2]
cmp eax, 0xd800
je 0x4bd45e
cmp edi, 0x110000
jae 0x4bd45e
cmp edi, 0xffff
jbe 0x4bd463
lea ecx, [edi - 0x10000]
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [ebx], ax
mov eax, 4
mov word [ebx + 2], cx
jmp 0x4bd46b
mov edi, 0xfffe
mov word [ebx], di
mov eax, 2
add ebx, eax
mov eax, edx
and eax, 0xf800
cmp eax, 0xd800
je 0x4bd4b5
cmp edx, 0x110000
jae 0x4bd4b5
cmp edx, 0xffff
jbe 0x4bd4ba
lea ecx, [edx - 0x10000]
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [ebx], ax
mov eax, 4
mov word [ebx + 2], cx
jmp 0x4bd4c2
mov edx, 0xfffe
mov word [ebx], dx
mov eax, 2
mov ecx, dword [esp + 0x28]
add ebx, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x1c], ebx
jmp 0x4bd300
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x38]
mov eax, 2
mov word [esi], ax
add esi, eax
mov eax, ecx
and eax, 0xf800
cmp eax, 0xd800
je 0x4bd543
cmp ecx, 0x110000
jae 0x4bd543
cmp ecx, 0xffff
jbe 0x4bd548
add ecx, 0xffff0000
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [esi], ax
mov eax, 4
mov word [esi + 2], cx
jmp 0x4bd550
mov ecx, 0xfffe
mov word [esi], cx
mov eax, 2
add esi, eax
mov eax, edi
and eax, 0xf800
cmp eax, 0xd800
je 0x4bd5ab
cmp edi, 0x110000
jae 0x4bd5ab
cmp edi, 0xffff
jbe 0x4bd5b0
lea ecx, [edi - 0x10000]
mov edi, dword [esp + 0x24]
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or ecx, 0xdc00
or eax, 0xd800
mov word [esi], ax
mov eax, 4
mov word [esi + 2], cx
add esi, eax
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], esi
jmp 0x4bca7f
mov edi, 0xfffe
mov word [esi], di
mov eax, 2
mov ebx, dword [esp + 0x18]
add esi, eax
mov dword [esp + 0x38], esi
mov edi, dword [esp + 0x24]
jmp 0x4bca7f
mov ecx, dword [esp + 0x28]
mov ebx, ebp
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x2c]
cmp ebp, 2
jge 0x4bd5e3
inc ebp
mov dword [esp + 0x2c], ebp
cmp ebp, 1
jne 0x4bd60a
cmp word [ebx + 2], 0x5d
lea eax, [ebx + 2]
jne 0x4bd60a
mov edx, dword [esp + 0x30]
test edx, edx
je 0x4bd7f0
cmp ecx, 0x10000
jl 0x4bd7f0
cmp ecx, 0xff
jg 0x4bd68c
mov esi, dword [esp + 0x3c]
and esi, 1
je 0x4bd620
cmp ecx, 0x7f
jg 0x4bd68c
mov dword [esp + 0x24], 1
mov edx, ecx
test edx, edx
jns 0x4bd631
add edx, 7
sar edx, 3
mov edi, dword [esp + 0x28]
mov eax, edi
movzx ecx, byte [esp + edx + 0x8c]
and eax, 7
bts ecx, eax
test esi, esi
mov esi, dword [esp + 0x38]
mov byte [esp + edx + 0x8c], cl
je 0x4bd5c2
mov eax, dword [esp + 0x148]
mov eax, dword [eax + 4]
movzx edx, byte [edi + eax]
mov edi, dword [esp + 0x24]
mov ecx, edx
shr ecx, 3
and edx, 7
movzx eax, byte [esp + ecx + 0x8c]
bts eax, edx
mov byte [esp + ecx + 0x8c], al
jmp 0x4bca7f
mov esi, dword [esp + 0x38]
mov edx, 1
mov ebx, edx
mov dword [esp + 0x1c], edx
mov eax, ecx
and eax, 0xf800
mov word [esi], bx
add esi, 2
cmp eax, 0xd800
je 0x4bd6ed
cmp ecx, 0x110000
jae 0x4bd6ed
mov eax, ecx
cmp ecx, 0xffff
jbe 0x4bd6f2
add ecx, 0xffff0000
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [esi], ax
lea eax, [edx + 3]
mov word [esi + 2], cx
mov ecx, dword [esp + 0x28]
jmp 0x4bd6fa
mov eax, 0xfffe
mov word [esi], ax
mov eax, 2
add esi, eax
mov dword [esp + 0x38], esi
test byte [esp + 0x3c], dl
je 0x4bd7d9
mov eax, ecx
test eax, eax
jns 0x4bd713
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4e0180]
mov edi, dword [esp + 0x28]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4bd732
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
mov ecx, dword [eax*8 + 0x4df0a4]
add ecx, edi
cmp ecx, edi
je 0x4bd7d9
mov eax, ecx
mov word [esi], bx
and eax, 0xf800
add esi, 2
cmp eax, 0xd800
je 0x4bd7ac
cmp ecx, 0x110000
jae 0x4bd7ac
cmp ecx, 0xffff
jbe 0x4bd7b1
mov edi, dword [esp + 0x24]
add ecx, 0xffff0000
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or ecx, 0xdc00
or eax, 0xd800
mov word [esi], ax
mov eax, 4
mov word [esi + 2], cx
add esi, eax
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], esi
jmp 0x4bca83
mov ecx, 0xfffe
mov edi, dword [esp + 0x24]
mov eax, 2
mov word [esi], cx
add esi, eax
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], esi
jmp 0x4bca83
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x4bca83
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
jmp 0x4bca83
mov edi, 1
jmp 0x4bca7b
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
test edx, edx
je 0x4bd84b
mov esi, dword [esp + 0x48]
mov eax, 0xffffffff
mov edx, dword [esp + 0x14]
cmp esi, 0xfffffffe
mov edi, dword [esp + 0x34]
cmove esi, eax
test byte [esp + 0x3c], 1
mov eax, 0
mov dword [esp + 0x48], esi
setne al
mov ebp, esi
add eax, 0x1f
mov dword [esp + 0x1c], ebp
mov word [edx], ax
mov word [edx + 2], cx
add edx, 4
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
add ebx, 2
jmp 0x4bc283
cmp ecx, 0xffff
jle 0x4bd8a0
mov eax, ecx
and eax, 0xf800
cmp eax, 0xd800
je 0x4bd89b
cmp ecx, 0x110000
jae 0x4bd89b
cmp ecx, 0xffff
jbe 0x4bd8a0
lea eax, [ecx - 0x10000]
mov edx, 2
mov ebp, eax
and eax, 0x3ff
shr ebp, 0xa
or ebp, 0xd800
or eax, 0xdc00
mov word [esp + 0xd6], ax
jmp 0x4bd8a8
mov ecx, 0xfffe
mov bp, cx
mov edx, 1
mov word [esp + 0xd4], bp
mov esi, dword [esp + 0x14]
mov eax, 0
test byte [esp + 0x3c], 1
mov dword [esp + 0x20], esi
setne al
add eax, 0x1d
mov word [esi], ax
add esi, 2
mov dword [esp + 0x14], esi
test edx, edx
je 0x4bd8fb
mov edi, dword [esp + 0x14]
lea eax, [edx + edx]
mov ecx, eax
lea esi, [esp + 0xd4]
shr ecx, 1
shr ecx, 1
rep movsd dword es:[edi], dword [esi]
adc ecx, ecx
rep movsw word es:[edi], word [esi]
mov esi, dword [esp + 0x14]
add esi, eax
mov dword [esp + 0x14], esi
cmp bp, 0xd
je 0x4bd90b
cmp bp, 0xa
jne 0x4c03c1
mov eax, dword [esp + 0x148]
or dword [eax + 0x50], 0x800
jmp 0x4c03c8
test ecx, ecx
je 0x4c0536
mov eax, dword [esp + 0x48]
mov ecx, 0xffffffff
cmp eax, 0xfffffffe
cmove eax, ecx
test edx, edx
mov edx, dword [esp + 0x58]
mov ebp, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x5c], eax
je 0x4bd9ea
test edx, edx
je 0x4bd965
test dword [esp + 0x3c], 0x20000000
je 0x4bd9ea
mov ebx, dword [esp + 0x14]
xor eax, eax
mov word [esi], ax
mov eax, 0x6c
add esi, 2
mov word [ebx], ax
xor eax, eax
cmp dword [esp + 0x30], eax
setne al
movzx eax, ax
mov word [ebx + 4], ax
test edi, edi
jle 0x4bd9c6
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 + 0x98]
add esp, 0xc
add esi, 0x20
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esp + 0x9c]
movups xmmword [ebx + 0x10], xmm0
mov edi, dword [esp + 0x20]
mov eax, esi
sub eax, edi
mov dword [esp + 0x14], esi
sar eax, 1
mov edx, esi
mov word [edi + 2], ax
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
add ebx, 2
jmp 0x4bc283
mov ecx, dword [esp + 0x30]
xor eax, eax
mov esi, dword [esp + 0x14]
cmp ecx, edx
setne al
add eax, 0x6a
cmp dword [esp + 0x14c], 0
mov word [esi], ax
jne 0x4bda35
test ecx, ecx
je 0x4bda1d
xor ecx, ecx
nop
not byte [esp + ecx + 0x8c]
inc ecx
cmp ecx, 0x20
jl 0x4bda10
movups xmm0, xmmword [esp + 0x8c]
movups xmmword [esi + 2], xmm0
movups xmm0, xmmword [esp + 0x9c]
movups xmmword [esi + 0x12], xmm0
mov ebx, dword [esp + 0x18]
add esi, 0x22
mov edi, dword [esp + 0x34]
mov edx, esi
mov dword [esp + 0x14], esi
add ebx, 2
jmp 0x4bc283
test ecx, ecx
je case.0x4bc675.1
movzx eax, word [ebx + 2]
add ebx, 2
xor esi, esi
or edi, 0xffffffff
cmp eax, 0x30
jb 0x4bdaae
mov edx, eax
nop dword [eax]
cmp dx, 0x39
ja 0x4bda8f
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 0x4bda70
test esi, esi
js 0x4bdb1f
cmp esi, 0xffff
jle 0x4bdaae
mov eax, dword [esp + 0x134]
mov dword [eax], 5
jmp 0x4bdac5
cmp word [ebx], 0x7d
jne 0x4bdadf
mov edi, esi
mov eax, dword [esp + 0x134]
mov dword [esp + 0x68], esi
mov dword [esp + 0x4c], edi
cmp dword [eax], 0
mov dword [esp + 0x18], ebx
jne 0x4c098d
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x68]
jmp 0x4bdb61
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x7d
je 0x4bdab6
xor edi, edi
cmp eax, 0x30
jb 0x4bdb2e
mov edx, eax
cmp dx, 0x39
ja 0x4bdb13
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 0x4bdaf4
test edi, edi
js 0x4bdb1f
cmp edi, 0xffff
jle 0x4bdb2e
mov eax, dword [esp + 0x134]
mov dword [eax], 5
jmp 0x4bdac5
cmp edi, esi
jae 0x4bdab6
mov eax, dword [esp + 0x134]
mov dword [eax], 4
jmp 0x4bdac5
xor edx, edx
or ecx, 0xffffffff
jmp 0x4bdb59
mov edx, 1
or ecx, 0xffffffff
jmp 0x4bdb59
xor edx, edx
mov ecx, 1
mov dword [esp + 0x68], edx
mov dword [esp + 0x4c], ecx
mov esi, dword [esp + 0x20]
test esi, esi
je 0x4c0588
test edx, edx
jne 0x4bdb7d
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x6c], eax
xor edi, edi
mov eax, 0x20000000
cmp edx, ecx
mov edx, esi
mov dword [esp + 0x44], edx
movzx ecx, word [ebx + 2]
cmove eax, edi
xor ebp, ebp
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], ebp
cmp ecx, 0x2b
jne 0x4bdbb4
mov ebp, 1
add ebx, 2
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebx
jmp 0x4bdbd0
cmp ecx, 0x3f
jne 0x4bdbc9
mov edi, dword [esp + 0xd0]
add ebx, 2
mov dword [esp + 0x18], ebx
jmp 0x4bdbd0
mov edi, dword [esp + 0xcc]
cmp word [esi], 0x6f
mov dword [esp + 0x24], edi
jne 0x4bdc3a
mov eax, dword [esi]
add dword [esp + 0x14], 8
cmp dword [esp + 0x14c], 0
mov dword [esi + 4], eax
mov dword [esi], 0x4007b
mov dword [esi + 8], 0x40072
mov dword [esp + 0x70], 6
jne 0x4bdc32
mov ebx, dword [esp + 0x148]
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x24]
add eax, 2
cmp edx, eax
jb 0x4bdc32
mov ecx, dword [esp + 0x20]
sub ecx, dword [ebx + 0x14]
movzx esi, word [edx - 2]
add ecx, 2
sar ecx, 1
cmp esi, ecx
jne 0x4bdc32
lea eax, [esi + 2]
mov word [edx - 2], ax
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
movzx ecx, word [esi]
mov eax, ecx
cmp ecx, 0x1d
je 0x4be496
cmp ecx, 0x1e
je 0x4be496
cmp ecx, 0x1f
je 0x4be467
cmp ecx, 0x20
je 0x4be467
cmp ecx, 0x17
jae 0x4bdcda
mov esi, 0x34
mov edi, ecx
test ebp, ebp
jne 0x4bdcb3
cmp dword [esp + 0x4c], ebp
jge 0x4bdcb3
push dword [esp + 0x148]
push dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
lea eax, [ebx + 2]
push eax
mov edx, 1
call fcn.004bb5d0
mov ebx, dword [esp + 0x24]
add esp, 0xc
test eax, eax
je 0x4bdcb3
xor eax, eax
mov dword [esp + 0x28], 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
movzx eax, word [eax]
cmp eax, 0x10
je 0x4be51e
cmp eax, 0xf
je 0x4be51e
mov eax, dword [esp + 0x20]
or edx, 0xffffffff
or ebp, edx
jmp 0x4be52a
cmp ecx, 0x6a
je 0x4be3d7
cmp ecx, 0x6b
je 0x4be3d7
cmp ecx, 0x6c
je 0x4be3d7
cmp ecx, 0x6d
je 0x4be3d7
cmp ecx, 0x6e
je 0x4be3d7
add eax, 0xffffff89
cmp ax, 0xa
ja 0x4be3a6
mov eax, dword [esp + 0x14]
xor ebp, ebp
sub eax, esi
mov dword [esp + 0x30], ebp
xor esi, esi
sar eax, 1
mov dword [esp + 0x50], esi
mov esi, 0x81
mov dword [esp + 0x40], eax
cmp cx, si
jne 0x4bdd4d
mov esi, dword [esp + 0x20]
mov edi, 0x8b
cmp word [esi + 4], di
mov edi, dword [esp + 0x24]
je 0x4be7ea
cmp ecx, 0x7b
jae 0x4bdd74
cmp dword [esp + 0x68], ebp
jg 0x4be7ea
mov ecx, dword [esp + 0x4c]
test ecx, ecx
js 0x4bdd69
cmp ecx, 1
jle 0x4bdd78
mov ecx, 1
mov dword [esp + 0x4c], ecx
jmp 0x4bdd78
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x68], ebp
jne 0x4bde64
push dword [esp + 0x60]
mov ebx, dword [esp + 0x24]
xor edx, edx
mov eax, dword [esp + 0x18]
cmp ecx, 1
push dword [esp + 0x14c]
push ecx
mov word [eax], dx
lea esi, [ebx + 2]
mov ecx, ebx
jg 0x4bde06
mov edx, 1
call fcn.004bb240
mov eax, dword [esp + 0x4c]
add esp, 0xc
add eax, eax
push eax
push ebx
push esi
call sub.VCRUNTIME140.dll_memmove
mov edx, dword [esp + 0x20]
add esp, 0xc
add edx, 2
mov dword [esp + 0x14], edx
cmp dword [esp + 0x4c], ebp
jne 0x4bdde5
mov eax, 0x9b
mov word [ebx], ax
mov ebx, dword [esp + 0x18]
jmp 0x4be7ee
mov dword [esp + 0x20], esi
lea eax, [edi + 0x8c]
mov esi, dword [esp + 0x4c]
mov ebp, ebx
mov word [ebx], ax
dec esi
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
jmp 0x4bdfe9
mov edx, 3
call fcn.004bb240
mov eax, dword [esp + 0x4c]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebx + 6]
push ebx
push eax
call sub.VCRUNTIME140.dll_memmove
add dword [esp + 0x20], 6
lea eax, [edi + 0x8c]
mov word [ebx], ax
mov ecx, 0x7d
mov word [esi], cx
mov eax, esi
add esi, 2
xor ecx, ecx
mov dword [esp + 0x5c], esi
add eax, 4
add esp, 0xc
mov dword [esp + 0x20], eax
mov word [esi], cx
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x18]
dec esi
mov edx, dword [esp + 0x44]
jmp 0x4bdfe9
mov ecx, dword [esp + 0x68]
cmp ecx, 1
jle 0x4bdfdb
mov edi, dword [esp + 0x14c]
test edi, edi
je 0x4bdebf
mov eax, dword [esp + 0x70]
dec ecx
mov esi, ecx
imul esi, eax
movd xmm1, ecx
movd xmm0, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
comisd xmm1, xmm2
ja 0x4c095d
mov ecx, dword [edi]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, esi
jl 0x4c095d
lea eax, [esi + ecx]
mov dword [edi], eax
jmp 0x4bdfd7
cmp dword [esp + 0xb0], ebp
je 0x4bded6
cmp dword [esp + 0x6c], ebp
jge 0x4bded6
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x148]
add eax, eax
mov ecx, dword [esp + 0x14]
mov ebp, 1
mov dword [esp + 0x74], eax
nop dword [eax]
mov esi, dword [edx + 0x24]
push eax
push dword [esp + 0x24]
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x154]
mov ecx, esi
sub ecx, dword [esp + 0x6c]
add esp, 0xc
sar ecx, 1
mov eax, dword [edx + 0x34]
mov ebx, dword [edx + 0x10]
sub eax, ecx
mov edi, dword [edx + 0x24]
add eax, 0xffffff9c
lea eax, [ebx + eax*2]
cmp edi, eax
jbe 0x4bdf83
mov ecx, edx
call fcn.004b9980
mov ecx, dword [esp + 0x134]
mov dword [ecx], eax
test eax, eax
jne 0x4c04f9
mov eax, dword [esp + 0x148]
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 + 0x148]
cmp edi, eax
ja 0x4bdf25
mov ebx, dword [esp + 0x60]
cmp ebx, esi
jae 0x4bdfa9
mov eax, dword [esp + 0x40]
movzx ecx, ax
mov ax, word [ebx]
add ebx, 2
add ax, cx
mov word [edi], ax
add dword [edx + 0x24], 2
mov edi, dword [edx + 0x24]
cmp ebx, esi
jb 0x4bdf92
mov eax, dword [esp + 0x40]
inc ebp
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x60], esi
lea ecx, [ecx + eax*2]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], ecx
cmp ebp, dword [esp + 0x68]
jl 0x4bdef0
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x24]
test esi, esi
jle 0x4bdfef
sub esi, ecx
mov dword [esp + 0x4c], esi
test esi, esi
js 0x4be251
mov ebp, dword [esp + 0x14c]
test ebp, ebp
je 0x4be0b2
test esi, esi
jle 0x4be0b2
mov eax, dword [esp + 0x70]
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 [0x4f1fa8]
ja 0x4c095d
mov esi, dword [ebp]
mov eax, 0x7fffffeb
sub eax, esi
cmp eax, ecx
jl 0x4c095d
lea eax, [ecx + esi]
mov dword [ebp], eax
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x4be74f
mov ebx, 0x72
nop word [eax + eax]
mov edx, esi
sub edx, ecx
sar edx, 1
inc edx
lea eax, [edx + edx]
sub esi, eax
movzx eax, word [esi + 2]
test eax, eax
je 0x4be231
mov edi, dword [esp + 0x14]
neg eax
lea ecx, [ecx + eax*2]
mov word [edi], bx
movzx eax, dx
mov word [edi + 2], ax
add edi, 4
mov dword [esp + 0x14], edi
mov word [esi + 2], ax
test ecx, ecx
je 0x4be747
mov esi, edi
jmp 0x4be070
lea ebp, [esi - 1]
mov dword [esp + 0x30], ebp
test ebp, ebp
js 0x4be055
mov ecx, dword [esp + 0x40]
lea eax, [edi + 0x8c]
mov ebx, dword [esp + 0x148]
add ecx, ecx
mov esi, dword [esp + 0x14]
mov dword [esp + 0x74], eax
mov dword [esp + 0x58], ecx
nop dword [eax]
mov edi, dword [ebx + 0x24]
mov word [esi], ax
add esi, 2
mov dword [esp + 0x14], esi
test ebp, ebp
je 0x4be11c
mov edx, dword [esp + 0x50]
mov eax, 0x7d
mov word [esi], ax
add esi, 2
test edx, edx
jne 0x4be108
xor eax, eax
jmp 0x4be10e
mov eax, esi
sub eax, edx
sar eax, 1
mov dword [esp + 0x50], esi
mov word [esi], ax
add esi, 2
mov dword [esp + 0x14], esi
push ecx
push dword [esp + 0x24]
push esi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x154]
mov ecx, edi
sub ecx, dword [esp + 0x6c]
add esp, 0xc
mov ebx, dword [ebx + 0x10]
sar ecx, 1
mov eax, dword [edx + 0x34]
mov esi, dword [edx + 0x24]
sub eax, ecx
add eax, 0xffffff9c
lea eax, [ebx + eax*2]
cmp esi, eax
jbe 0x4be1ae
nop
mov ecx, edx
call fcn.004b9980
mov ecx, dword [esp + 0x134]
mov dword [ecx], eax
test eax, eax
jne 0x4c04f9
mov eax, dword [esp + 0x148]
sub edi, ebx
mov ecx, dword [esp + 0x60]
sub ecx, ebx
sar edi, 1
sar ecx, 1
mov edx, dword [eax + 0x10]
mov ebx, edx
mov esi, dword [eax + 0x24]
mov eax, dword [eax + 0x34]
lea ecx, [edx + ecx*2]
lea edi, [edx + edi*2]
mov dword [esp + 0x60], ecx
mov ecx, edi
add edx, 0xffffff38
sub ecx, dword [esp + 0x60]
sar ecx, 1
sub eax, ecx
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x148]
cmp esi, eax
ja 0x4be150
mov ebx, dword [esp + 0x148]
cmp dword [esp + 0x60], edi
jae 0x4be1fc
xor eax, eax
test ebp, ebp
mov ebp, dword [esp + 0x60]
setne al
lea eax, [eax*2 + 1]
movzx ecx, ax
mov eax, dword [esp + 0x40]
movzx edx, ax
nop word [eax + eax]
lea eax, [edx + ecx]
add ax, word [ebp]
add ebp, 2
mov word [esi], ax
add dword [ebx + 0x24], 2
mov esi, dword [ebx + 0x24]
cmp ebp, edi
jb 0x4be1e0
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
sub ebp, 1
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x60], edi
mov dword [esp + 0x30], ebp
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], esi
jns 0x4be0e0
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
jmp 0x4be059
mov eax, dword [esp + 0x14]
lea ecx, [eax + 2]
mov word [eax], bx
movzx eax, dx
mov word [ecx], ax
mov word [esi + 2], ax
lea eax, [ecx + 2]
mov dword [esp + 0x14], eax
jmp 0x4be747
mov edx, dword [esp + 0x14]
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 0x4be271
mov ecx, eax
cmp eax, 0x7c
jne 0x4be28d
cmp dword [esp + 0x28], 0
je 0x4be282
mov eax, 0x7d
mov word [ebx], ax
jmp 0x4be297
mov ecx, eax
cmp eax, 0x7b
je 0x4be397
cmp cx, 0x7c
je 0x4be397
cmp dword [esp + 0x14c], 0
jne 0x4be2d3
mov esi, ebx
push dword [esp + 0x148]
mov edx, edi
push ecx
mov ecx, esi
call fcn.004bade0
add esp, 8
test eax, eax
jne 0x4be2cb
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4be2a3
jmp 0x4be2cf
add word [ebx], 5
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x28], 0
je 0x4be384
movzx eax, word [ebx]
mov ecx, 0x81
cmp ax, cx
je 0x4be303
mov ecx, 0x86
cmp ax, cx
je 0x4be303
inc eax
mov word [ebx], ax
mov eax, 0x75
mov word [edi], ax
jmp 0x4be35f
push dword [esp + 0x60]
xor eax, eax
mov esi, edx
push dword [esp + 0x14c]
mov word [edx], ax
sub esi, ebx
push ecx
lea edx, [eax + 2]
sar esi, 1
mov ecx, ebx
call fcn.004bb240
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 + 0x20]
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 + 0x14], edx
mov word [ebx + 2], ax
test ebp, ebp
je 0x4be36c
mov eax, 0x8e
mov word [ebp], ax
cmp dword [esp + 0x68], 2
mov ebx, dword [esp + 0x18]
jl 0x4be7ee
mov edx, dword [esp + 0x44]
jmp 0x4be75a
mov eax, dword [esp + 0x24]
add eax, 0x73
mov word [edi], ax
mov ebx, dword [esp + 0x18]
jmp 0x4be7ee
mov eax, dword [esp + 0x24]
add eax, 0x73
mov word [edi], ax
jmp 0x4be747
mov eax, 0x97
cmp cx, ax
je 0x4be7ea
mov eax, dword [esp + 0x134]
mov dword [eax], 0xb
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
cmp dword [esp + 0x4c], 0
jne 0x4be3e9
mov edx, esi
mov dword [esp + 0x14], edx
jmp 0x4be7ee
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0x4c]
test ecx, ecx
jne 0x4be423
cmp esi, 0xffffffff
jne 0x4be40c
lea eax, [edi + 0x62]
mov edi, dword [esp + 0x14]
mov word [edi], ax
add edi, 2
jmp 0x4be743
cmp esi, 1
jne 0x4be43f
lea eax, [edi + 0x66]
mov edi, dword [esp + 0x14]
mov word [edi], ax
add edi, 2
jmp 0x4be743
cmp ecx, 1
jne 0x4be43f
cmp esi, 0xffffffff
jne 0x4be43f
lea eax, [edi + 0x64]
mov edi, dword [esp + 0x14]
mov word [edi], ax
add edi, 2
jmp 0x4be743
lea eax, [edi + 0x68]
mov edi, dword [esp + 0x14]
mov word [edi], ax
xor eax, eax
mov word [edi + 2], cx
add edi, 4
cmp esi, 0xffffffff
cmove esi, eax
mov word [edi], si
add edi, 2
mov dword [esp + 0x4c], esi
jmp 0x4be743
cmp ecx, 0x1f
mov eax, 0x1a
mov esi, 0x27
cmove esi, eax
mov eax, dword [esp + 0x20]
movzx edi, word [eax + 2]
test ebp, ebp
jne 0x4bdcb7
cmp dword [esp + 0x4c], ebp
jge 0x4bdcb7
jmp 0x4bdc7d
mov edx, dword [esp + 0x14]
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 0x4be4fc
lea ecx, [edx - 4]
mov edi, edx
sub edi, ecx
sar edi, 1
lea eax, [edi + edi]
push eax
push ecx
lea eax, [esp + 0x124]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
or edi, 0x10000000
mov eax, dword [esp + 0x148]
test ebp, ebp
jne 0x4bdcb3
cmp dword [esp + 0x4c], ebp
jge 0x4bdcb3
push eax
jmp 0x4bdc84
cmp dword [esp + 0x68], 1
mov edi, ecx
jle 0x4be4dd
mov eax, dword [esp + 0x148]
mov ecx, dword [eax + 0x54]
or ecx, edi
or ecx, dword [esp + 0x84]
mov dword [esp + 0x6c], ecx
jmp 0x4be4e4
mov eax, dword [esp + 0x20]
movzx ebp, word [eax + 2]
movzx edx, word [eax + 4]
cmp dword [esp + 0x4c], 0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], eax
je 0x4be7ea
mov eax, dword [esp + 0x24]
add eax, esi
cmp dword [esp + 0x68], 0
mov dword [esp + 0x24], eax
jne 0x4be598
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
movzx eax, ax
lea esi, [ecx + 2]
mov dword [esp + 0x14], esi
cmp edx, 0xffffffff
jne 0x4be571
add eax, 0x21
mov word [ecx], ax
jmp 0x4be5d6
mov ebx, dword [esp + 0x2c]
cmp edx, 1
jne 0x4be586
add eax, 0x25
mov dword [esp + 0x14], esi
mov word [ecx], ax
jmp 0x4be5da
add eax, 0x27
mov word [ecx], ax
mov word [esi], dx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4be5da
cmp dword [esp + 0x68], 1
jne 0x4be609
mov esi, dword [esp + 0x4c]
cmp esi, 0xffffffff
jne 0x4be5b1
mov ecx, dword [esp + 0x20]
add eax, 0x23
jmp 0x4be5cc
mov edx, ecx
mov dword [esp + 0x14], edx
cmp esi, 1
je 0x4be7ee
add eax, 0x27
mov word [ecx], ax
add ecx, 2
lea eax, [esi - 1]
mov word [ecx], ax
lea esi, [ecx + 2]
mov dword [esp + 0x14], esi
mov ebx, dword [esp + 0x2c]
test edi, 0x10000000
je 0x4be727
and edi, 7
lea eax, [esp + 0x11c]
lea esi, [edi + edi]
mov edi, dword [esp + 0x14]
push esi
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
jmp 0x4be731
mov ecx, dword [esp + 0x20]
lea eax, [esi + 0x29]
lea esi, [ecx + 2]
mov word [ecx], ax
mov eax, dword [esp + 0x68]
mov word [esi], ax
add esi, 2
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x14], esi
jge 0x4be691
test edi, 0x10000000
je 0x4be66b
mov ebx, dword [esp + 0x14]
mov eax, edi
and eax, 7
lea esi, [eax + eax]
push esi
lea eax, [esp + 0x120]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x30]
add ebx, esi
mov esi, ebx
mov dword [esp + 0x20], ebx
add eax, 0x21
add esp, 0xc
mov word [esi], ax
add esi, 2
jmp 0x4be5d2
mov word [esi], di
add esi, 2
test ebp, ebp
js 0x4be67f
mov word [esi], bp
mov word [esi + 2], dx
add esi, 4
mov eax, dword [esp + 0x24]
add eax, 0x21
mov word [esi], ax
add esi, 2
jmp 0x4be5d2
mov edx, dword [esp + 0x4c]
cmp edx, eax
je 0x4be5d6
test edi, 0x10000000
je 0x4be6d5
mov ebx, dword [esp + 0x14]
mov eax, edi
and eax, 7
lea esi, [eax + eax]
push esi
lea eax, [esp + 0x120]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x58]
add esp, 0xc
mov eax, dword [esp + 0x68]
add ebx, esi
mov dword [esp + 0x14], ebx
mov esi, ebx
jmp 0x4be6db
mov word [esi], di
add esi, 2
mov ebx, dword [esp + 0x2c]
test ebp, ebp
js 0x4be6ed
mov word [esi], bp
mov word [esi + 2], bx
add esi, 4
sub edx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4c], edx
movzx eax, ax
cmp edx, 1
jne 0x4be711
add eax, 0x25
mov word [esi], ax
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4be5da
add eax, 0x27
mov word [esi], ax
mov word [esi + 2], dx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4be5da
mov word [esi], di
mov edi, dword [esp + 0x14]
add edi, 2
mov dword [esp + 0x14], edi
test ebp, ebp
js 0x4be747
mov word [edi], bp
mov word [edi + 2], bx
add edi, 4
mov dword [esp + 0x14], edi
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
cmp dword [esp + 0x28], 0
je 0x4be7ea
movzx eax, word [edx]
cmp eax, 0x5d
jne 0x4be77e
movzx eax, word [edx + 4]
cmp eax, 0x10
je 0x4be775
cmp eax, 0xf
mov eax, 6
jne 0x4be77a
mov eax, 0xa
add edx, eax
jmp 0x4be7af
cmp eax, 0x29
je 0x4be788
cmp eax, 0x43
jne 0x4be7b3
movzx eax, byte [eax + 0x4e2380]
mov ecx, 0xfc00
lea edx, [edx + eax*2]
mov dword [esp + 0x44], edx
mov ax, word [edx - 2]
and ax, cx
mov ecx, 0xd800
cmp ax, cx
jne 0x4be7b3
add edx, 2
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x14]
mov esi, ecx
sub esi, edx
sar esi, 1
test esi, esi
jle 0x4be7ea
movzx eax, word [edx]
add eax, 0xffffffdf
cmp eax, 0x3a
ja case.0x4be7d7.34
movzx eax, byte [eax + 0x4c0b00]
jmp dword [eax*4 + 0x4c0aac]
mov eax, 0x2a
mov word [edx], ax
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x148]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], 0
or dword [ecx + 0x54], eax
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
add ebx, 2
jmp 0x4bc283
mov eax, 0x2b
jmp 0x4be7e3
mov eax, 0x2c
jmp 0x4be7e3
mov eax, 0x2d
jmp 0x4be7e3
mov eax, 0x37
jmp 0x4be7e3
mov eax, 0x38
jmp 0x4be7e3
mov eax, 0x39
jmp 0x4be7e3
mov eax, 0x3a
jmp 0x4be7e3
mov eax, 0x44
jmp 0x4be7e3
mov eax, 0x45
jmp 0x4be7e3
mov eax, 0x46
jmp 0x4be7e3
mov eax, 0x47
jmp 0x4be7e3
mov eax, 0x51
jmp 0x4be7e3
mov eax, 0x52
jmp 0x4be7e3
mov eax, 0x53
jmp 0x4be7e3
mov eax, 0x54
jmp 0x4be7e3
mov eax, 0x5e
jmp 0x4be7e3
mov eax, 0x5f
jmp 0x4be7e3
mov eax, 0x60
jmp 0x4be7e3
mov eax, 0x61
jmp 0x4be7e3
push dword [esp + 0x60]
xor eax, eax
push dword [esp + 0x14c]
mov word [ecx], ax
push ecx
mov ecx, dword [esp + 0x50]
lea edx, [eax + 2]
call fcn.004bb240
add esp, 0xc
lea eax, [esi + esi]
push eax
mov eax, dword [esp + 0x48]
push eax
add eax, 4
push eax
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [esp + 0x50]
mov ecx, 0x7b
mov edx, dword [esp + 0x20]
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 + 0x44]
mov dword [esp + 0x14], edx
mov word [eax + 2], cx
mov ebx, dword [esp + 0x18]
jmp 0x4be7ee
mov eax, dword [esp + 0x3c]
mov esi, 0x7f
mov dword [esp + 0x38], eax
xor edx, edx
mov eax, dword [edi + 0x24]
mov dword [esp + 0x28], esi
lea esi, [ebx + 2]
mov dword [esp + 0x60], eax
mov dword [esp + 0x18], esi
movzx eax, word [esi]
mov dword [esp + 0x24], edx
mov dword [esp + 0x50], edx
cmp eax, 0x2a
jne 0x4bec47
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
cmp eax, 0x3a
je 0x4be97c
mov ecx, 0xff
cmp ax, cx
ja 0x4bf73e
mov ecx, eax
mov eax, dword [edi + 0xc]
test byte [ecx + eax], 2
je 0x4bf73e
mov dword [esp + 0x40], edx
mov edi, 0x4d3314
mov dword [esp + 0x24], edx
mov ecx, ebx
mov dword [esp + 0x20], edx
mov edx, 0xff
mov dword [esp + 0x18], ebx
movzx eax, word [ebx]
mov dword [esp + 0x50], edi
mov esi, eax
mov dword [esp + 0x2c], ebx
mov edi, ebx
cmp ax, dx
ja 0x4bea02
mov ecx, dword [esp + 0x148]
mov edx, eax
mov esi, ebx
mov eax, ebx
mov ebp, dword [ecx + 0xc]
mov ecx, ebx
jmp 0x4be9c4
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 0x4be9fe
lea ebx, [ecx + 2]
mov dword [esp + 0x18], ebx
mov edi, ebx
movzx eax, word [ebx]
mov ecx, eax
mov dword [esp + 0x30], edi
cmp cx, word [esp + 0xb8]
mov edx, ecx
mov esi, eax
mov dword [esp + 0x74], ebx
mov eax, edi
mov ecx, ebx
jbe 0x4be9c0
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 0x4bea61
add edi, 2
mov ebx, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], ebx
mov ebp, edi
movzx ecx, word [ebx]
mov eax, ecx
test cx, cx
je 0x4bea52
mov edx, ecx
mov esi, edi
movzx eax, dx
cmp dx, 0x29
je 0x4bea52
lea ebx, [esi + 2]
mov dword [esp + 0x18], ebx
mov ebp, ebx
movzx eax, word [ebx]
mov esi, ebx
mov ecx, eax
mov edx, eax
test cx, cx
jne 0x4bea32
mov ecx, dword [esp + 0x30]
sub ebp, edi
sar ebp, 1
mov dword [esp + 0x40], ebp
movzx eax, ax
cmp ax, 0x29
jne 0x4beb6d
mov edx, dword [esp + 0x50]
xor eax, eax
mov dword [esp + 0x58], eax
mov ebp, 0x4d3200
nop word [eax + eax]
cmp ecx, dword [ebp]
jne 0x4beb4b
mov esi, dword [esp + 0x2c]
mov edx, ecx
mov edi, dword [esp + 0x50]
test ecx, ecx
je 0x4beab5
movzx ecx, word [esi]
lea esi, [esi + 2]
movzx eax, byte [edi]
lea edi, [edi + 1]
dec edx
cmp cx, ax
jne 0x4beb43
test edx, edx
jne 0x4bea97
mov eax, dword [esp + 0x58]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x4d3204]
movzx edx, cx
mov esi, edx
cmp ecx, 0x98
jne 0x4beb90
cmp dword [esp + 0x40], 0
jne 0x4c05ce
mov edx, dword [esp + 0x148]
mov esi, dword [esp + 0x14]
mov ecx, dword [edx + 0x20]
mov dword [edx + 0x58], 1
test ecx, ecx
je 0x4beb1b
mov edx, 0x9a
nop dword [eax]
mov word [esi], dx
mov ax, word [ecx + 4]
mov word [esi + 2], ax
add esi, 4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4beb00
mov edx, dword [esp + 0x148]
xor eax, eax
mov ecx, 0xffffffff
cmp dword [edx + 0x48], eax
setg al
add eax, 0x98
mov word [esi], ax
mov eax, dword [esp + 0x48]
cmp eax, 0xfffffffe
cmove eax, ecx
mov dword [esp + 0x48], eax
jmp 0x4bec1d
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x50]
mov eax, dword [ebp]
add ebp, 0xc
inc eax
add edx, eax
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x58], eax
cmp ebp, 0x4d326c
jl 0x4bea80
mov eax, dword [esp + 0x134]
mov dword [eax], 0x3c
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov edi, dword [esp + 0x40]
test edi, edi
jne 0x4bebc5
test ecx, ecx
js 0x4c05ab
mov eax, dword [esp + 0x14]
mov word [eax], dx
mov eax, 0x94
cmp si, ax
jne 0x4bebbf
mov eax, dword [esp + 0x148]
or dword [eax + 0x50], 0x1000
mov esi, dword [esp + 0x14]
jmp 0x4bec1d
mov eax, dword [eax*4 + 0x4d3208]
movzx ecx, ax
mov edx, ecx
test eax, eax
js 0x4c05ce
mov ebx, dword [esp + 0x14]
mov eax, 0x95
mov word [ebx], cx
cmp dx, ax
jne 0x4bebf8
mov eax, dword [esp + 0x148]
or dword [eax + 0x50], 0x1000
lea esi, [edi + edi]
mov word [ebx + 2], di
push esi
push dword [esp + 0x28]
add ebx, 4
push ebx
call sub.VCRUNTIME140.dll_memcpy
add ebx, esi
add esp, 0xc
mov esi, ebx
mov dword [esp + 0x14], ebx
xor eax, eax
mov word [esi], ax
mov ebx, dword [esp + 0x18]
add esi, 2
cmp dword [esp + 0x58], 9
mov dword [esp + 0x14], esi
jge 0x4beb6d
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
add ebx, 2
jmp 0x4bc283
cmp eax, 0x3f
jne 0x4bf73e
lea ebx, [esi + 2]
mov dword [esp + 0x18], ebx
movzx ebp, word [ebx]
mov ecx, ebp
lea eax, [ebp - 0x21]
cmp eax, 0x5b
ja case.default.0x4bec75
movzx eax, byte [eax + 0x4c0b78]
mov edi, ebp
mov edx, ebx
mov ebp, ebx
jmp dword [eax*4 + 0x4c0b3c]
lea edx, [ebx + 2]
mov ebx, edx
mov dword [esp + 0x18], ebx
movzx eax, word [ebx]
test ax, ax
je 0x4beca9
mov ecx, eax
nop
cmp cx, 0x29
je 0x4bec33
lea ebx, [edx + 2]
mov dword [esp + 0x18], ebx
mov edx, ebx
movzx eax, word [ebx]
mov ecx, eax
test ax, ax
jne 0x4bec90
mov eax, dword [esp + 0x134]
mov dword [eax], 0x12
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov dword [esp + 0x50], 1
mov ebp, dword [esp + 0x38]
lea eax, [ebx + 2]
mov dword [esp + 0x18], eax
mov esi, 0x7d
mov eax, dword [esp + 0x14]
mov ecx, esi
mov dword [esp + 0x20], eax
mov word [eax], cx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x148]
mov edi, dword [eax + 0x54]
jmp 0x4bfb9c
cmp word [ebx + 2], 0x3f
mov esi, 0x81
mov dword [esp + 0x28], esi
jne 0x4bed4f
movzx eax, word [ebx + 4]
cmp eax, 0x3d
je 0x4bed27
cmp eax, 0x21
je 0x4bed27
cmp eax, 0x3c
jne 0x4bed4f
mov eax, dword [esp + 0x14]
mov ecx, esi
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov word [eax], cx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x148]
mov edi, dword [eax + 0x54]
jmp 0x4bfba2
mov esi, dword [esp + 0x14]
mov eax, 0x87
mov dword [esp + 0x24], 2
mov dword [esp + 0x74], 0xffffffff
mov word [esi + 4], ax
mov ebx, dword [esp + 0x18]
movzx eax, word [ebx + 2]
cmp eax, 0x52
jne 0x4bed9e
cmp word [ebx + 4], 0x26
lea ecx, [ebx + 4]
jne 0x4bedc6
mov dword [esp + 0x18], ecx
mov eax, 0x89
mov word [esi + 4], ax
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x40], 0xffffffff
jmp 0x4bede6
cmp eax, 0x3c
jne 0x4bedb4
add ebx, 2
mov dword [esp + 0x40], 0x3e
mov dword [esp + 0x18], ebx
jmp 0x4bede6
cmp eax, 0x27
jne 0x4bedc6
add ebx, 2
mov dword [esp + 0x40], eax
mov dword [esp + 0x18], ebx
jmp 0x4bede6
mov dword [esp + 0x40], 0
cmp eax, 0x2d
je 0x4bedd8
cmp eax, 0x2b
jne 0x4bede6
add ebx, 2
mov dword [esp + 0x18], ebx
movzx eax, word [ebx]
mov dword [esp + 0x74], eax
movzx eax, word [ebx + 2]
add ebx, 2
mov ecx, 0xff
mov esi, ebx
mov dword [esp + 0x58], esi
cmp ax, cx
ja 0x4c0649
mov ecx, dword [esp + 0x148]
mov ecx, dword [ecx + 0xc]
test byte [eax + ecx], 0x10
je 0x4c0649
mov dword [esp + 0x18], ebx
xor edi, edi
movzx eax, word [ebx]
mov edx, esi
mov ebp, eax
mov dword [esp + 0x2c], edi
mov ecx, esi
cmp ax, word [esp + 0xb8]
ja 0x4beed4
mov edx, eax
mov ebp, ecx
mov dword [esp + 0x20], edx
mov eax, ecx
mov edi, ecx
jmp 0x4bee48
mov ebp, dword [esp + 0x30]
movzx ecx, dx
mov esi, edi
mov dword [esp + 0x30], ebp
movzx ebp, dx
mov edx, dword [esp + 0x148]
mov dword [esp + 0x54], ecx
mov ecx, eax
mov edi, dword [esp + 0x54]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x20]
test byte [edi + eax], 0x10
je 0x4beecc
mov ecx, dword [esp + 0x2c]
test ecx, ecx
js 0x4bee9a
lea eax, [edx - 0x30]
cmp ax, 9
ja 0x4bee92
lea ecx, [ecx + ecx*4]
lea ecx, [ecx - 0x18]
lea ecx, [edi + ecx*2]
mov dword [esp + 0x2c], ecx
jmp 0x4bee9a
mov dword [esp + 0x2c], 0xffffffff
add ebx, 2
mov dword [esp + 0x18], ebx
mov esi, ebx
mov dword [esp + 0x30], esi
mov edi, esi
mov dword [esp + 0x54], esi
movzx eax, word [ebx]
mov ecx, eax
mov ebp, eax
mov edx, ecx
mov eax, esi
mov dword [esp + 0x20], edx
cmp cx, word [esp + 0xb8]
jbe 0x4bee44
mov ecx, ebx
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
sub edx, dword [esp + 0x58]
sar edx, 1
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x40]
test edx, edx
jle 0x4beefc
movzx eax, bp
lea ebx, [ecx + 2]
mov dword [esp + 0x18], ebx
mov ecx, ebx
cmp eax, edx
jne 0x4c0623
mov esi, ebx
mov ax, word [ebx]
lea ebx, [esi + 2]
mov dword [esp + 0x18], ebx
mov ecx, ebx
cmp ax, 0x29
jne 0x4c0623
cmp dword [esp + 0x14c], 0
jne 0x4bf274
mov ecx, dword [esp + 0x74]
test ecx, ecx
jle 0x4bef88
test edi, edi
jle 0x4c0822
mov eax, dword [esp + 0x148]
mov eax, dword [eax + 0x38]
cmp ecx, 0x2d
jne 0x4bef46
sub eax, edi
lea edi, [eax + 1]
jmp 0x4bef48
add edi, eax
test edi, edi
jle 0x4c08d9
mov eax, dword [esp + 0x148]
cmp edi, dword [eax + 0x3c]
jg 0x4c08d9
mov ecx, dword [esp + 0x14]
mov edx, 0x81
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x20], ecx
mov word [ecx + 6], di
mov word [ecx], dx
mov edi, dword [eax + 0x54]
mov dword [esp + 0x44], ecx
jmp 0x4bfba2
mov edi, dword [esp + 0x148]
xor eax, eax
mov ebp, dword [esp + 0x30]
mov ebx, dword [edi + 0x28]
cmp eax, dword [edi + 0x2c]
jge 0x4bf012
mov edi, dword [esp + 0x58]
mov edx, ebp
mov dword [esp + 0x54], eax
lea esi, [ebx + 2]
mov dword [esp + 0x30], eax
test ebp, ebp
je 0x4befcc
movzx ecx, word [edi]
lea edi, [edi + 2]
movzx eax, word [esi]
lea esi, [esi + 2]
dec edx
cmp cx, ax
jne 0x4befec
test edx, edx
jne 0x4befb2
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x148]
cmp eax, dword [edi + 0x2c]
jge 0x4bf012
movzx eax, word [ebx]
mov ebx, dword [esp + 0x14]
inc word [ebx + 4]
mov word [ebx + 6], ax
jmp 0x4bf0ec
mov edi, dword [esp + 0x148]
mov eax, dword [edi + 0x30]
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, dword [edi + 0x2c]
jge 0x4bf012
mov edi, dword [esp + 0x58]
lea esi, [ebx + 2]
mov edx, ebp
jmp 0x4befb2
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
mov edx, ebx
push ecx
shr eax, 3
mov ecx, edi
and eax, 1
push eax
push ebp
call fcn.004ba790
add esp, 0xc
test eax, eax
jle 0x4bf044
mov ebx, dword [esp + 0x14]
inc word [ebx + 4]
mov word [ebx + 6], ax
jmp 0x4bf0ec
cmp dword [esp + 0x40], 0
jne 0x4c08d5
cmp word [ebx], 0x52
jne 0x4bf099
xor ecx, ecx
lea edx, [ecx + 1]
cmp ebp, edx
jle 0x4bf085
nop
movzx esi, word [ebx + edx*2]
lea eax, [esi - 0x30]
cmp ax, 9
ja 0x4c08d5
lea ecx, [ecx + ecx*4]
mov eax, esi
inc edx
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
cmp edx, ebp
jl 0x4bf060
test ecx, ecx
jne 0x4bf08a
mov ecx, 0xffff
mov ebx, dword [esp + 0x14]
mov eax, 0x89
mov word [ebx + 4], ax
jmp 0x4bf0e8
cmp ebp, 6
jne 0x4bf0cf
mov edx, ebp
mov esi, str.DEFINE
movzx ecx, word [ebx]
lea ebx, [ebx + 2]
movzx eax, byte [esi]
lea esi, [esi + 1]
dec edx
cmp cx, ax
jne 0x4bf0cf
test edx, edx
jne 0x4bf0a5
mov ebx, dword [esp + 0x14]
mov eax, 0x8b
mov edx, 1
mov word [ebx + 4], ax
jmp 0x4bf0f0
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4c05f1
cmp ecx, dword [edi + 0x3c]
jg 0x4c05f1
mov ebx, dword [esp + 0x14]
mov word [ebx + 6], cx
mov edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x38]
mov eax, 0x81
mov word [ebx], ax
mov edi, dword [edi + 0x54]
mov eax, dword [esp + 0x148]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x28]
jmp 0x4bfba6
mov ecx, dword [esp + 0x148]
lea eax, [ebx + 2]
mov ebp, dword [esp + 0x38]
mov esi, 0x77
mov dword [esp + 0x18], eax
mov edx, esi
mov eax, dword [esp + 0x14]
mov ebx, 0x77
inc dword [ecx + 0x48]
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], eax
mov word [eax], dx
mov edi, dword [ecx + 0x54]
mov esi, dword [ecx + 0x38]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x44], eax
jmp 0x4bfba9
lea eax, [ebx + 2]
mov dword [esp + 0x18], eax
cmp word [eax], 0x29
jne 0x4bf196
mov edx, dword [esp + 0x14]
mov eax, 0x97
mov dword [esp + 0x20], 0
mov word [edx], ax
add edx, 2
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
add ebx, 2
jmp 0x4bc283
mov eax, dword [esp + 0x148]
mov ebx, 0x78
mov ecx, dword [esp + 0x14]
mov edx, ebx
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x28], ebx
inc dword [eax + 0x48]
mov word [ecx], dx
mov edi, dword [eax + 0x54]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x20], ecx
jmp 0x4bfba2
movzx eax, word [ebx + 2]
mov edx, eax
cmp edx, 0x21
je 0x4bf25a
cmp edx, 0x3d
je 0x4bf249
mov ebp, 0xff
cmp ax, bp
ja 0x4c066c
mov eax, dword [esp + 0x148]
mov eax, dword [eax + 0xc]
test byte [edx + eax], 0x10
je 0x4c066c
movzx edi, word [ebx]
cmp di, 0x3c
mov eax, 0x3e
mov ecx, 0x27
mov edi, 0xff
cmove ecx, eax
add ebx, 2
mov dword [esp + 0x18], ebx
mov ebp, ebx
mov dword [esp + 0x54], ecx
mov edx, ebp
mov dword [esp + 0x58], ebp
movzx eax, word [ebx]
mov esi, eax
cmp ax, di
ja 0x4bf4e1
mov ecx, dword [esp + 0x148]
mov edx, eax
mov eax, ebx
mov edi, dword [ecx + 0xc]
jmp 0x4bf4a5
mov ecx, dword [esp + 0x148]
mov esi, 0x79
inc dword [ecx + 0x48]
jmp 0x4bf269
mov eax, dword [esp + 0x148]
mov esi, 0x7a
inc dword [eax + 0x48]
lea eax, [ebx + 4]
mov dword [esp + 0x28], esi
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
mov eax, ebx
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
mov word [ecx], bx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x70], 0
mov edi, dword [ecx + 0x54]
mov esi, dword [ecx + 0x38]
cmp ebx, 0x79
je 0x4bf2f4
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x54], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ecx
cmp eax, 0x7a
jne 0x4bfbb1
lea ecx, [ebx - 0x79]
jmp 0x4bfbb3
mov ebx, dword [esp + 0x28]
mov ecx, 1
jmp 0x4bfbb3
mov ebp, dword [esp + 0x38]
lea eax, [esi + 4]
mov dword [esp + 0x18], eax
mov ebx, 0x7b
mov eax, dword [esp + 0x14]
mov ecx, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ebx
mov word [eax], cx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x148]
mov edi, dword [eax + 0x54]
jmp 0x4bfba2
mov eax, dword [esp + 0x14]
mov ecx, 0x70
mov dword [esp + 0x7c], eax
xor edi, edi
xor ebp, ebp
mov dword [esp + 0xbc], 1
mov word [eax], cx
add eax, 2
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
lea ebx, [eax + 2]
mov dword [esp + 0x54], eax
mov dword [esp + 0x18], ebx
movzx ecx, word [ebx]
mov dword [esp + 0x80], eax
mov eax, ecx
cmp ecx, 0x30
jb 0x4bf3a8
mov edx, ecx
mov esi, ebx
movzx eax, dx
cmp dx, 0x39
ja 0x4bf3bc
movzx eax, dx
lea ecx, [edi - 6]
lea ebx, [esi + 2]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x18], ebx
mov esi, ebx
lea edi, [eax + ecx*2]
movzx eax, word [ebx]
mov edx, eax
cmp eax, 0x30
jae 0x4bf380
movzx ecx, ax
cmp ax, 0x29
je 0x4bf414
mov eax, ecx
test cx, cx
je 0x4c0696
cmp ax, 0x3a
je 0x4bf3c8
mov ebx, dword [esp + 0x54]
xor edi, edi
lea ecx, [ebx + 2]
mov dword [esp + 0x80], ecx
add ebx, 2
mov dword [esp + 0x18], ebx
movzx eax, word [ebx]
test ax, ax
je 0x4c0696
cmp eax, 0x29
jne 0x4bf3d2
sub ebx, ecx
push 0
sar ebx, 1
push ebx
push ecx
mov ecx, 0x4fcc10
call fcn.0043dcb0
mov ebp, eax
test ebp, ebp
je 0x4c0692
cmp byte [ebp + 0x51], 0
jne 0x4c0692
mov ebx, dword [esp + 0x18]
cmp edi, 0xff
jg 0x4c06b9
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x148]
mov word [edx], di
mov edi, dword [esp + 0x34]
mov dword [edx + 2], ebp
mov eax, dword [esp + 0x18]
sub eax, dword [ecx + 0x18]
mov ebp, dword [esp + 0x1c]
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 + 0x18]
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], eax
add ebx, 2
jmp 0x4bc283
lea ebx, [esi + 4]
mov dword [esp + 0x18], ebx
movzx eax, word [ebx]
cmp eax, 0x3d
je 0x4bf488
cmp eax, 0x3e
je 0x4bf488
cmp eax, 0x3c
jne 0x4c06dc
mov edi, eax
jmp case.0x4bec75.36
xor edx, edx
mov dword [esp + 0x2c], 0x29
cmp eax, 0x3e
sete dl
mov dword [esp + 0x30], edx
jmp 0x4bfe9a
mov eax, dword [esp + 0x30]
mov dword [esp + 0x30], eax
movzx eax, dx
movzx esi, dx
test byte [eax + edi], 0x10
je 0x4bf4d5
lea ebx, [ebp + 2]
mov dword [esp + 0x18], ebx
mov ebp, ebx
movzx eax, word [ebx]
mov ecx, eax
mov dword [esp + 0x30], ebx
mov esi, eax
mov edx, ecx
mov eax, 0xff
cmp cx, ax
jbe 0x4bf4a1
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x58]
sub edx, ebp
sar edx, 1
cmp dword [esp + 0x14c], 0
mov dword [esp + 0x30], edx
je 0x4bf54d
movzx eax, si
cmp eax, ecx
jne 0x4c0868
mov edi, dword [esp + 0x148]
cmp dword [edi + 0x2c], 0x2710
jge 0x4c06ff
lea eax, [edx + 2]
cmp eax, dword [edi + 0x30]
jle 0x4bf6cd
mov dword [edi + 0x30], eax
cmp edx, 0x20
jle 0x4bf6cd
mov eax, dword [esp + 0x134]
mov dword [eax], 0x30
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov ecx, dword [esp + 0x148]
xor eax, eax
mov dword [esp + 0x40], eax
xor edi, edi
mov eax, dword [ecx + 0x2c]
mov ebp, dword [ecx + 0x28]
mov dword [esp + 0x74], eax
test eax, eax
jle 0x4bf665
lea eax, [edx + edx]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x58]
lea edx, [ebp + 2]
mov esi, eax
sub esi, 4
jb 0x4bf594
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4bf599
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4bf583
cmp esi, 0xfffffffc
je 0x4bf5cd
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4bf5c6
cmp esi, 0xfffffffd
je 0x4bf5cd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4bf5c6
cmp esi, 0xfffffffe
je 0x4bf5cd
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4bf5c6
cmp esi, 0xffffffff
je 0x4bf5cd
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4bf5cd
sbb eax, eax
or eax, 1
jmp 0x4bf5cf
xor eax, eax
test eax, eax
jne 0x4bf60a
mov eax, dword [esp + 0x30]
cmp word [ebp + eax*2 + 2], 0
jne 0x4bf62a
mov eax, dword [esp + 0x148]
mov ecx, dword [eax + 0x38]
movzx eax, word [ebp]
inc ecx
cmp eax, ecx
je 0x4bf600
test dword [esp + 0x3c], 0x80000
je 0x4c0722
mov dword [esp + 0x40], 1
jmp 0x4bf60c
js 0x4bf62a
mov ecx, dword [esp + 0x148]
inc edi
mov eax, dword [ecx + 0x30]
lea ebp, [ebp + eax*2]
cmp edi, dword [esp + 0x74]
jge 0x4bf65e
mov eax, dword [esp + 0x54]
jmp 0x4bf575
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x74]
sub ecx, edi
mov eax, dword [eax + 0x30]
imul ecx, eax
lea eax, [eax*2]
add eax, ebp
add ecx, ecx
push ecx
push ebp
push eax
call sub.VCRUNTIME140.dll_memmove
mov ebx, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [esp + 0x148]
cmp dword [esp + 0x40], 0
jne 0x4bf699
mov edi, dword [ecx + 0x2c]
xor edx, edx
mov esi, dword [ecx + 0x28]
test edi, edi
jle 0x4bf699
cmp esi, ebp
je 0x4bf68d
mov ecx, dword [ecx + 0x38]
movzx eax, word [esi]
inc ecx
cmp eax, ecx
je 0x4c0745
mov ecx, dword [esp + 0x148]
jmp 0x4bf68e
dec edx
mov eax, dword [ecx + 0x30]
inc edx
lea esi, [esi + eax*2]
cmp edx, edi
jl 0x4bf671
mov edi, dword [esp + 0x148]
mov ax, word [edi + 0x38]
inc ax
mov word [ebp], ax
mov eax, dword [esp + 0x30]
lea esi, [eax + eax]
push esi
push dword [esp + 0x5c]
lea eax, [ebp + 2]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
xor eax, eax
mov word [esi + ebp + 2], ax
mov ebx, dword [esp + 0x18]
inc dword [edi + 0x2c]
add ebx, 2
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0x14]
mov edx, 1
inc dword [edi + 0x38]
mov eax, dword [edi + 0x38]
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
mov word [ecx + 4], ax
mov eax, 0x7f
mov word [ecx], ax
mov edi, dword [edi + 0x54]
mov eax, dword [esp + 0x148]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x20], ecx
jmp 0x4bfba6
mov dword [esp + 0x2c], 0x29
mov dword [esp + 0x30], 1
jmp 0x4bfe9a
lea ebx, [esi + 4]
mov dword [esp + 0x18], ebx
mov ebp, ebx
mov edx, ebx
mov dword [esp + 0x2c], 0x29
jmp 0x4bf97c
test dword [esp + 0x3c], 0x1000
je 0x4bf6d7
mov eax, dword [esp + 0x14]
mov ebx, 0x7d
mov ebp, dword [esp + 0x38]
mov ecx, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ebx
mov word [eax], cx
mov edi, dword [edi + 0x54]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x70], edx
mov esi, dword [eax + 0x38]
jmp 0x4bfbb1
mov edx, dword [esp + 0x134]
lea ecx, [esp + 0x18]
push 0
push dword [esp + 0x40]
mov dword [esp + 0x88], ebx
push dword [edi + 0x38]
call fcn.004b9ab0
mov ecx, dword [esp + 0x140]
add esp, 0xc
mov esi, eax
movzx ebp, si
cmp dword [ecx], 0
jne 0x4c04f9
test esi, esi
jns 0x4c035b
cmp esi, 0xffffffe6
jne 0x4bf806
mov ebx, dword [esp + 0x18]
cmp word [ebx + 2], 0x5c
jne 0x4bf7ea
cmp word [ebx + 4], 0x45
jne 0x4bf7ea
mov ebp, dword [esp + 0x1c]
add ebx, 4
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
add ebx, 2
jmp 0x4bc283
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x64], 1
add ebx, 2
jmp 0x4bc283
cmp esi, 0xffffffe7
je 0x4c0404
mov edx, dword [esp + 0x48]
cmp edx, 0xfffffffe
jne 0x4bf82e
mov eax, 0xfffffffa
sub eax, esi
cmp eax, 0x10
mov eax, 0xffffffff
cmovbe edx, eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x6c]
mov ebp, edx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x5c], eax
cmp esi, 0xffffffe5
jne 0x4bfe2d
mov ebx, dword [esp + 0x18]
mov eax, dword [edi + 0x24]
add ebx, 2
mov dword [esp + 0x60], eax
lea ebp, [ebx + 2]
mov dword [esp + 0x18], ebx
mov eax, 0x3e
mov edi, 0x27
cmp word [ebx], 0x3c
cmove edi, eax
xor eax, eax
mov dword [esp + 0x24], eax
movzx eax, word [ebp]
mov dword [esp + 0x2c], edi
cmp eax, 0x2b
je 0x4bf927
cmp eax, 0x2d
je 0x4bf927
lea edi, [esi + 0x1c]
mov edx, eax
test ax, ax
je 0x4bf8f3
mov ecx, eax
nop word [eax + eax]
movzx esi, cx
movzx edx, cx
cmp esi, dword [esp + 0x2c]
je 0x4bf8ec
mov eax, 0xff
cmp cx, ax
ja 0x4bf8e7
mov eax, dword [esp + 0x148]
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 0x4bf8ec
movzx eax, word [ebp + 2]
add ebp, 2
mov ecx, eax
test ax, ax
jne 0x4bf8a0
mov edx, eax
jmp 0x4bf8ec
xor edi, edi
movzx edx, cx
mov ecx, dword [esp + 0x134]
movzx eax, dx
cmp eax, dword [esp + 0x2c]
je 0x4bf916
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
mov dword [ecx], 0x39
add ebx, 2
jmp 0x4bc283
test edi, edi
jne 0x4bf971
mov dword [esp + 0x30], 1
jmp 0x4bfe9a
movzx eax, word [ebx + 4]
lea ecx, [ebx + 4]
mov edx, eax
cmp eax, 0x30
jb 0x4bf949
cmp dx, 0x39
ja 0x4bf949
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
cmp eax, 0x30
jae 0x4bf935
movzx eax, word [ecx]
cmp eax, edi
je 0x4bf971
mov eax, dword [esp + 0x134]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
mov dword [eax], 0x39
add ebx, 2
jmp 0x4bc283
add ebx, 2
mov edx, ebx
mov dword [esp + 0x18], ebx
mov ebp, edx
movzx esi, word [ebx]
mov eax, esi
mov dword [esp + 0x54], eax
cmp esi, 0x2b
jne 0x4bfa20
lea ebx, [edx + 2]
mov dword [esp + 0x18], ebx
movzx eax, word [ebx]
cmp eax, 0x30
jb 0x4c0768
cmp eax, 0x39
ja 0x4c0768
movzx ecx, word [ebx]
xor edi, edi
mov eax, ecx
cmp ecx, 0x30
jb 0x4bf9e6
mov edx, ecx
nop dword [eax + eax]
movzx eax, dx
cmp dx, 0x39
ja 0x4bf9e6
movzx eax, dx
lea ecx, [edi - 6]
add ebx, 2
lea ecx, [edi + ecx*4]
mov dword [esp + 0x18], ebx
lea edi, [eax + ecx*2]
movzx eax, word [ebx]
mov edx, eax
cmp eax, 0x30
jae 0x4bf9c0
movzx eax, ax
cmp eax, dword [esp + 0x2c]
jne 0x4c0845
cmp esi, 0x2d
jne 0x4bfe0a
test edi, edi
je 0x4c0822
mov edx, dword [esp + 0x148]
mov eax, dword [edx + 0x38]
sub eax, edi
lea edi, [eax + 1]
test edi, edi
jle 0x4c08d9
jmp 0x4c0067
cmp esi, 0x2d
jne 0x4bf9aa
movzx eax, word [ebp + 2]
mov ecx, esi
cmp eax, 0x30
jb case.0x4bec75.47
cmp eax, 0x39
ja case.0x4bec75.47
lea ebx, [ebp + 2]
mov dword [esp + 0x18], ebx
jmp 0x4bf9aa
mov edi, dword [esp + 0x148]
xor esi, esi
movzx eax, cx
xor ebp, ebp
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], ebp
lea edx, [esp + 0xc4]
cmp cx, 0x29
je 0x4bfaef
movzx esi, cx
movzx eax, si
cmp si, 0x3a
je 0x4bfae1
movzx eax, si
add ebx, 2
sub eax, 0x2d
mov dword [esp + 0x18], ebx
cmp eax, 0x4b
ja case.0x4bfa97.46
movzx eax, byte [eax + 0x4c0bf8]
jmp dword [eax*4 + 0x4c0bd4]
lea edx, [esp + 0xc8]
jmp 0x4bfad5
or dword [edx], 0x80000
or dword [edi + 0x50], 0x400
jmp 0x4bfad5
or dword [edx], 1
jmp 0x4bfad5
or dword [edx], 2
jmp 0x4bfad5
or dword [edx], 4
jmp 0x4bfad5
or dword [edx], 8
jmp 0x4bfad5
or dword [edx], 0x200
jmp 0x4bfad5
or dword [edx], 0x40
movzx eax, word [ebx]
mov ecx, eax
mov esi, eax
cmp ecx, 0x29
jne 0x4bfa71
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xc8]
or ebp, dword [esp + 0x3c]
not esi
and ebp, esi
cmp ax, 0x29
jne 0x4bfb6d
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x14]
add eax, 4
cmp edx, eax
jne 0x4bfb20
mov eax, dword [esp + 0x14c]
test eax, eax
je 0x4bfb1b
cmp dword [eax], 4
jne 0x4bfb20
mov dword [edi + 0x4c], ebp
jmp 0x4bfb48
mov eax, ebp
shr eax, 9
and eax, 1
mov dword [esp + 0xcc], eax
xor eax, 1
mov dword [esp + 0xd0], eax
mov eax, ebp
and eax, 1
shl eax, 0x1c
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xec]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x20], 0
mov dword [eax], ebp
mov ebp, dword [esp + 0x1c]
add ebx, 2
jmp 0x4bc283
mov eax, dword [esp + 0x14]
mov esi, 0x7d
add ebx, 2
mov dword [esp + 0x20], eax
mov ecx, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], 0
mov word [eax], cx
mov edi, dword [edi + 0x54]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x28], esi
mov ebx, ecx
mov edx, dword [esp + 0x24]
mov esi, dword [eax + 0x38]
mov dword [esp + 0x70], 0
xor ecx, ecx
cmp dword [esp + 0x14c], 0
lea eax, [esp + 0x70]
mov dword [esp + 0x54], 0
cmove eax, dword [esp + 0x54]
push eax
push dword [esp + 0x14c]
lea eax, [esp + 0x90]
push dword [esp + 0x148]
push eax
lea eax, [esp + 0xbc]
push eax
xor eax, eax
cmp ebx, 0x81
sete al
add eax, dword [esp + 0x158]
push eax
push edx
push dword [esp + 0x6c]
lea eax, [esp + 0x38]
push ecx
push dword [esp + 0x158]
lea edx, [esp + 0x6c]
mov ecx, ebp
push eax
call fcn.004c0c50
add esp, 0x2c
test eax, eax
je 0x4c04f9
cmp ebx, 0x7b
jne 0x4bfcc5
mov eax, dword [esp + 0x148]
cmp dword [eax + 0x38], esi
jg 0x4bfc47
mov eax, dword [esp + 0x14]
mov ecx, 0x7c
mov word [eax], cx
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x18]
cmp word [ebx], 0x29
jne 0x4c07ff
mov ebp, dword [esp + 0x14c]
test ebp, ebp
je 0x4bfd58
mov esi, dword [esp + 0x70]
mov ecx, 0x7fffffeb
mov edx, dword [ebp]
sub ecx, edx
lea eax, [esi - 4]
cmp ecx, eax
jl 0x4c095d
mov edi, dword [esp + 0x34]
lea eax, [esi - 4]
add eax, edx
mov ecx, 2
mov edx, dword [esp + 0x14]
mov dword [ebp], eax
mov ebp, dword [esp + 0x1c]
mov dword [edx + 2], 0x720002
mov word [edx + 6], cx
add edx, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
add ebx, ecx
jmp 0x4bc283
cmp ebx, 0x7a
ja 0x4bfcd9
mov eax, dword [esp + 0x148]
dec dword [eax + 0x48]
jmp 0x4bfc47
cmp ebx, 0x81
jne 0x4bfc47
cmp dword [esp + 0x14c], 0
jne 0x4bfc47
mov ebx, dword [esp + 0x14]
xor edx, edx
mov ecx, ebx
nop dword [eax + eax]
movzx eax, word [ecx + 2]
inc edx
cmp word [ecx + eax*2], 0x72
lea ecx, [ecx + eax*2]
jne 0x4bfd00
mov eax, 0x8b
cmp word [ebx + 4], ax
jne 0x4bfd2a
cmp edx, 1
jg 0x4c07b1
mov esi, eax
jmp 0x4bfc4b
cmp edx, 2
jg 0x4c07d8
cmp edx, 1
jne 0x4bfc47
mov esi, dword [esp + 0x28]
or eax, 0xffffffff
or ecx, eax
mov dword [esp + 0x88], eax
mov dword [esp + 0xac], ecx
jmp 0x4bfc59
mov edx, dword [esp + 0x44]
mov dword [esp + 0x14], edx
cmp esi, 0x8b
je 0x4be804
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0xb0], 0
cmp esi, 0x7b
jb 0x4bfde9
cmp ebp, 0xfffffffe
jne 0x4bfdbe
test ecx, ecx
js 0x4bfdad
or ebp, 0xffffffff
mov dword [esp + 0x48], ecx
mov dword [esp + 0xb0], 1
mov dword [esp + 0x1c], ebp
jmp 0x4bfdd1
or ebp, 0xffffffff
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x1c], ebp
jmp 0x4bfdd1
test ecx, ecx
js 0x4bfdd1
test eax, eax
jns 0x4bfdd9
mov eax, ecx
or eax, edi
mov dword [esp + 0x88], eax
test eax, eax
js 0x4bec3b
mov edi, dword [esp + 0x34]
mov dword [esp + 0x6c], eax
add ebx, 2
jmp 0x4bc283
cmp esi, 0x77
jne 0x4bec3b
test eax, eax
js 0x4bec3b
mov edi, dword [esp + 0x34]
mov dword [esp + 0x6c], eax
add ebx, 2
jmp 0x4bc283
cmp word [esp + 0x54], 0x2b
jne 0x4c0060
test edi, edi
je 0x4c0822
mov edx, dword [esp + 0x148]
add edi, dword [edx + 0x38]
jmp 0x4c0067
cmp esi, 0xffffffe4
jne 0x4c01d7
mov ebx, dword [esp + 0x18]
movzx eax, word [ebx + 2]
cmp eax, 0x3c
je 0x4bfe65
cmp eax, 0x27
je 0x4bfe65
cmp eax, 0x7b
je 0x4bfe65
mov edx, dword [esp + 0x14]
mov eax, ecx
mov edi, dword [esp + 0x34]
mov dword [eax], 0x45
add ebx, 2
jmp 0x4bc283
add ebx, 2
mov dword [esp + 0x30], 0
mov dword [esp + 0x18], ebx
movzx eax, word [ebx]
cmp eax, 0x3c
jne 0x4bfe86
mov dword [esp + 0x2c], 0x3e
jmp 0x4bfe9a
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 + 0x18], ebx
mov edi, ebx
mov dword [esp + 0x50], edi
mov ecx, edi
movzx eax, word [ebx]
mov esi, eax
cmp ax, dx
ja 0x4bfefe
mov ecx, dword [esp + 0x148]
mov edx, eax
mov edi, dword [ecx + 0xc]
mov ecx, ebx
mov ebp, ebx
nop dword [eax + eax]
movzx eax, dx
movzx esi, dx
test byte [eax + edi], 0x10
je 0x4bfefa
lea ebx, [ebp + 2]
mov dword [esp + 0x18], 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 0x4bfed0
mov edi, dword [esp + 0x50]
sub ecx, edi
sar ecx, 1
cmp dword [esp + 0x14c], 0
mov dword [esp + 0x74], ecx
je 0x4bff65
test ecx, ecx
je 0x4c088b
movzx eax, si
cmp eax, dword [esp + 0x2c]
jne 0x4c0868
cmp ecx, 0x20
jg 0x4bf52a
mov eax, dword [esp + 0x3c]
mov edx, edi
mov ebp, dword [esp + 0x148]
push ecx
shr eax, 3
and eax, 1
mov esi, dword [ebp + 0x1c]
push eax
push ecx
mov ecx, ebp
mov dword [ebp + 0x1c], ebx
call fcn.004ba790
mov edx, ebp
xor edi, edi
add esp, 0xc
test eax, eax
cmovns edi, eax
mov dword [edx + 0x1c], esi
jmp 0x4c0003
mov edx, dword [esp + 0x148]
xor ebp, ebp
mov ebx, dword [edx + 0x28]
cmp ebp, dword [edx + 0x2c]
jge 0x4bffd4
lea esi, [ebx + 2]
mov edx, ecx
test ecx, ecx
je 0x4bff9a
nop
movzx ecx, word [edi]
lea edi, [edi + 2]
movzx eax, word [esi]
lea esi, [esi + 2]
dec edx
cmp cx, ax
jne 0x4bffb7
test edx, edx
jne 0x4bff80
mov ecx, dword [esp + 0x74]
cmp word [ebx + ecx*2 + 2], 0
jne 0x4bffbb
mov edx, dword [esp + 0x148]
mov edi, dword [esp + 0x50]
cmp ebp, dword [edx + 0x2c]
jge 0x4bffd4
movzx edi, word [ebx]
jmp 0x4c0003
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x148]
inc ebp
mov edi, dword [esp + 0x50]
mov eax, dword [edx + 0x30]
lea ebx, [ebx + eax*2]
cmp ebp, dword [edx + 0x2c]
jl 0x4bff76
jmp 0x4bffa9
mov eax, dword [esp + 0x3c]
mov edx, edi
push ecx
shr eax, 3
and eax, 1
push eax
push ecx
mov ecx, dword [esp + 0x154]
call fcn.004ba790
mov edi, eax
add esp, 0xc
test edi, edi
jle 0x4c08d5
mov edx, dword [esp + 0x148]
cmp dword [esp + 0x30], 0
jne 0x4c0067
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
cmp edx, 0xfffffffe
mov eax, 0xffffffff
cmove edx, eax
test byte [esp + 0x3c], 1
mov dword [esp + 0x48], edx
mov eax, 0
mov edx, dword [esp + 0x14]
setne al
add eax, 0x6d
mov dword [esp + 0x20], edx
mov word [edx], ax
mov word [edx + 2], di
add edx, 4
mov dword [esp + 0x14], edx
cmp edi, 0x20
jge 0x4c01ec
mov ebx, 1
mov ecx, edi
mov eax, ebx
shl eax, cl
jmp 0x4c01f3
mov edx, dword [esp + 0x148]
cmp dword [esp + 0x14c], 0
lea esi, [edx + 0x14]
mov eax, dword [esp + 0x14]
mov ebp, dword [esi]
mov dword [esp + 0x20], eax
jne 0x4c0182
xor ecx, ecx
mov word [eax], cx
test edi, edi
je 0x4c00a8
mov ecx, dword [esi]
push edi
call fcn.004bac40
mov edx, dword [esp + 0x14c]
mov ebp, eax
mov eax, dword [esp + 0x18]
add esp, 4
lea ebx, [edx + 0x14]
jmp 0x4c00aa
mov ebx, esi
test ebp, ebp
jne 0x4c0124
mov eax, dword [esp + 0x3c]
xor edx, edx
push ecx
mov ecx, dword [esp + 0x14c]
shr eax, 3
and eax, 1
push eax
push edi
call fcn.004ba790
add esp, 0xc
test eax, eax
js 0x4c08d5
mov eax, dword [esi]
mov esi, dword [esp + 0x148]
lea ebp, [eax + edi*2]
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x10]
lea eax, [eax + ecx*2]
add eax, 0xffffff38
cmp dword [esi + 0x24], eax
jb 0x4c010b
mov ecx, esi
call fcn.004b9980
mov ecx, dword [esp + 0x134]
mov dword [ecx], eax
test eax, eax
jne 0x4c04f9
mov edx, dword [esp + 0x14]
mov ecx, edx
sub ecx, dword [ebx]
mov eax, dword [esi + 0x24]
add ecx, 2
sar ecx, 1
mov word [eax], cx
add dword [esi + 0x24], 2
jmp 0x4c018d
cmp word [ebp + 2], 0
jne 0x4c0182
cmp dword [esp + 0x144], 0
jg 0x4c0182
mov ecx, dword [esp + 0x140]
mov esi, ecx
test ecx, ecx
je 0x4c08ae
nop word [eax + eax]
mov ecx, dword [esi + 4]
cmp ecx, ebp
jb 0x4c08ae
push edx
push ecx
mov edx, eax
call fcn.004bade0
add esp, 8
test eax, eax
je 0x4c0182
mov esi, dword [esi]
test esi, esi
je 0x4c08ae
mov edx, dword [esp + 0x148]
mov eax, dword [esp + 0x14]
jmp 0x4c0150
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x148]
mov eax, 0x6f
mov dword [esp + 0xb0], 0
mov word [edx], ax
sub ebp, dword [esi + 0x14]
sar ebp, 1
mov word [edx + 2], bp
add edx, 4
cmp dword [esp + 0x48], 0xfffffffe
mov dword [esp + 0x14], edx
jne 0x4bf182
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x48], 0xffffffff
add ebx, 2
jmp 0x4bc283
mov eax, esi
neg eax
cmp eax, 0x23
jl 0x4c0242
mov edi, 0xffffffdd
sub edi, esi
jmp 0x4c0012
mov eax, 1
mov ebx, eax
mov ecx, dword [esp + 0x148]
or dword [ecx + 0x44], eax
cmp edi, dword [ecx + 0x40]
jle 0x4c0205
mov dword [ecx + 0x40], edi
mov ecx, dword [ecx + 0x20]
test ecx, ecx
je 0x4bf182
movzx eax, word [ecx + 4]
cmp eax, edi
je 0x4c022e
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4c0210
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
add ebx, 2
jmp 0x4bc283
mov edi, dword [esp + 0x34]
mov word [ecx + 6], bx
mov ebx, dword [esp + 0x18]
add ebx, 2
jmp 0x4bc283
cmp esi, 0xfffffff1
je 0x4c02ec
cmp esi, 0xfffffff0
je 0x4c02ec
mov eax, esi
neg eax
cmp eax, 0x1d
mov eax, esi
jl 0x4c0290
neg eax
cmp eax, 0x22
ja 0x4c02c4
mov edi, dword [esp + 0x18]
lea eax, [esi*4 + 0x74]
mov edx, dword [esp + 0x14]
mov ecx, 0x4d2364
sub ecx, eax
add edi, 2
mov dword [esp + 0x34], edi
mov ebx, dword [ecx]
sub ebx, 2
add ebx, 2
jmp 0x4bc283
neg eax
cmp eax, 5
jle 0x4c02c4
mov eax, esi
neg eax
cmp eax, 0x17
jae 0x4c02c4
mov edx, dword [esp + 0x14]
neg esi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x20], edx
mov word [edx], si
add edx, 2
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
add ebx, 2
jmp 0x4bc283
mov edx, dword [esp + 0x14]
neg esi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x20], 0
mov word [edx], si
add edx, 2
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
add ebx, 2
jmp 0x4bc283
push ecx
lea eax, [esp + 0xf8]
push eax
lea edx, [esp + 0xf8]
lea ecx, [esp + 0x20]
call fcn.004ba180
add esp, 8
test eax, eax
js 0x4c04f9
mov ebx, dword [esp + 0x14]
xor ecx, ecx
mov edi, dword [esp + 0x34]
cmp esi, 0xfffffff0
mov dword [esp + 0x20], ebx
sete cl
xor edx, edx
cmp ecx, dword [esp + 0xf0]
setne dl
add edx, 0xf
mov word [ebx], dx
mov edx, ebx
mov word [edx + 2], ax
mov ax, word [esp + 0xf4]
mov word [edx + 4], ax
add edx, 6
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
add ebx, 2
jmp 0x4bc283
cmp esi, 0xffff
jle 0x4bd8a3
mov eax, esi
and eax, 0xf800
cmp eax, 0xd800
je 0x4c03b4
cmp esi, 0x110000
jae 0x4c03b4
cmp esi, 0xffff
jbe 0x4c03b9
sub esi, 0x10000
mov edx, 2
mov ebp, esi
and esi, 0x3ff
shr ebp, 0xa
or ebp, 0xd800
or esi, 0xdc00
mov word [esp + 0xd6], si
jmp 0x4bd8a8
mov esi, 0xfffe
mov bp, si
jmp 0x4bd8a3
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x48]
cmp ecx, 0xfffffffe
jne 0x4c0456
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x5c], ecx
cmp edx, 1
je 0x4c041c
cmp dword [esp + 0x84], 0
je 0x4c041c
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x48], 0xffffffff
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
add ebx, 2
jmp 0x4bc283
movzx ecx, bp
or ecx, dword [esp + 0x84]
cmp edx, 1
mov edx, dword [esp + 0x14]
mov dword [esp + 0x48], ecx
je 0x4bf182
movzx ecx, word [esi - 2]
or ecx, dword [eax + 0x54]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x6c], ecx
add ebx, 2
jmp 0x4bc283
mov ebp, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x5c], ecx
cmp edx, 1
je 0x4c0487
cmp dword [esp + 0x84], 0
je 0x4c0487
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
add ebx, 2
jmp 0x4bc283
movzx ecx, word [esi - 2]
or ecx, dword [eax + 0x54]
or ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x6c], ecx
add ebx, 2
jmp 0x4bc283
mov eax, dword [esp + 0x134]
mov dword [eax], 0x1f
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 7
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov dword [eax], 0x47
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x18]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 8
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 6
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
cmp esi, 0x3a
mov ecx, 0xd
mov eax, 0x1f
cmove eax, ecx
mov ecx, dword [esp + 0x134]
mov dword [ecx], eax
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x130]
mov esi, dword [esp + 0x134]
mov dword [eax], ebx
xor eax, eax
mov dword [esi], 9
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x42
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x3b
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov ebx, dword [esp + 0x18]
test ecx, ecx
mov ecx, dword [esp + 0x134]
mov eax, 0xf
mov edx, 0x23
cmove eax, edx
mov dword [ecx], eax
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
lea ebx, [ecx - 2]
mov dword [eax], 0x1a
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x1c
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
add ebx, 2
mov dword [eax], 0x18
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x134]
mov dword [eax], 0x27
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x26
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x29
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x31
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x2b
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x41
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x3f
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
add ebx, 0xfffffffe
mov dword [eax], 0xc
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0x36
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0x1b
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0xe
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x3a
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x1d
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x2a
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x3e
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0x28
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x134]
mov dword [eax], 0xf
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x48]
mov dword [eax], ecx
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x14c]
mov dword [eax], edx
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
test ecx, ecx
je 0x4c094d
sub edx, dword [esp + 0xc0]
mov ebp, 0x7fffffeb
mov eax, dword [ecx]
sub ebp, eax
sar edx, 1
cmp ebp, edx
jl 0x4c095d
add eax, edx
mov dword [ecx], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x14
mov eax, dword [esp + 0x130]
mov dword [eax], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x134]
mov dword [eax], 0x34
mov eax, dword [esp + 0x130]
pop edi
pop esi
pop ebp
mov dword [eax], ebx
xor eax, eax
pop ebx
add esp, 0x11c
ret