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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x3f4
mov eax, 0x5e2967
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x408]
movzx ebx, byte [edx + 0x246]
mov bh, byte [edx + 0x247]
mov edi, edx
lea esi, [edx + 0x50]
mov dword [esp + 0x178], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x17c], 0
shr eax, 0x10
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x290], eax
mov eax, 0x5bb5d7
shr eax, 0x10
mov dword [esp + 0x284], eax
mov eax, 0x5e28f1
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
shr eax, 0x10
mov dword [esp + 0x28c], eax
mov eax, 0x5e28aa
shr eax, 0x10
mov dword [esp + 0x294], eax
mov eax, 0x5e289c
mov dword [esp + 0x1ac], ebp
mov dword [esp + 0x1a8], ecx
lea ecx, [edi + 0x294]
lea ebp, [esp + 0x9c]
shr eax, 0x10
mov dword [esp + 0x88], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x174], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x288], eax
mov eax, 0x5b9bd3
shr eax, 0x10
mov dword [esp + 0x298], eax
mov eax, 0x5bb630
shr eax, 0x10
mov dword [esp + 0x29c], eax
call 0x4a0cfd
pop eax
mov dword [esp + 0x164], eax
lea eax, [edx + 0x2a8]
mov dword [esp + 0x2a4], eax
lea eax, [edx + 0x250]
mov dword [esp + 0x138], eax
lea eax, [edx + 0x251]
mov dword [esp + 0x2a8], eax
lea eax, [edx + 0x260]
mov dword [esp + 0x2a0], eax
mov eax, dword [edx + 0x64]
test eax, eax
je 0x4a0d90
mov ecx, ebp
mov edx, esi
push dword [esp + 0x1a8]
push dword [esp + 0x1b0]
call fcn.00457760
add esp, 8
movzx eax, byte [esp + 0x9c]
cmp al, 4
jne 0x4a460a
mov eax, dword [esp + 0x13c]
add eax, dword [esp + 0xa0]
cmp dword [edi + 0x64], 0
mov dword [esp + 0x13c], eax
jne 0x4a0d40
jmp 0x4a0da7
cmp dword [edi + 0x4c], 0
jne 0x4a4647
test byte [edi + 0x24a], 1
jne 0x4a4647
push dword [esp + 0x1ac]
push ebp
mov eax, dword [esp + 0x1b0]
call dword [eax + 0x38]
add esp, 8
cmp byte [esp + 0x9c], 4
jne 0x4a466a
and bl, bh
cmp dword [esp + 0x13c], 0
mov byte [esp + 0x14d], bl
setne al
test bl, al
jne 0x4a4647
test byte [esp + 0x17c], 1
jne 0x4a1140
nop word cs:[eax + eax]
nop
cmp dword [edi + 0x4c], 0
jne 0x4a1140
cmp byte [edi + 0x24a], 0
jne 0x4a1140
cmp byte [edi + 0x246], 0
jne 0x4a0e2a
cmp dword [edi + 0x64], 0
jne 0x4a1140
cmp dword [edi + 0x38], 1
jne 0x4a0ea0
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x3c]
xor edx, edx
mov esi, ecx
mov edi, ecx
jmp 0x4a0e46
add edx, dword [esi + 8]
add esi, 0xc
cmp esi, ecx
jne 0x4a0e40
test edi, edi
je 0x4a0e60
cmp ecx, edi
je 0x4a0e60
mov ebx, edi
mov edi, esi
mov esi, ebx
jmp 0x4a0e40
mov edi, dword [esp + 0x1c]
cmp edx, eax
jbe 0x4a0ea0
lea ecx, [esp + 0x1f8]
mov edx, 0x27
push 0x1e
push str.received_plaintext_buffer_full
call fcn.004a94a0
add esp, 8
movzx ebx, byte [esp + 0x1f8]
cmp bl, 4
jne 0x4a1085
jmp 0x4a1114
cmp dword [edi + 0x274], 2
mov ecx, dword [edi + 0x2cc]
mov eax, 0xffff
mov edx, 0x4805
cmove eax, edx
cmp ecx, eax
jae 0x4a0f30
lea ebx, [ecx + 0x1000]
mov esi, dword [edi + 0x2c8]
mov ebp, edi
cmp eax, ebx
cmovb ebx, eax
mov edi, ebx
sub edi, esi
jbe 0x4a0f66
mov eax, dword [ebp + 0x2c0]
sub eax, esi
cmp eax, edi
jb 0x4a10f0
mov eax, dword [esp + 0x1c]
cmp edi, 2
mov ebx, dword [eax + 0x2c4]
lea eax, [ebx + esi]
jb 0x4a0f14
lea ecx, [edi - 1]
push ecx
push 0
push eax
call fcn.004f0d80
add esp, 0xc
lea esi, [esi + edi - 1]
add ebx, esi
mov eax, ebx
mov ebp, dword [esp + 0x1c]
inc esi
mov byte [eax], 0
mov dword [ebp + 0x2c8], esi
jmp 0x4a0fc0
mov ecx, ebp
mov edx, 0x15
push 0x13
push 0x5b9bd9
call fcn.0043c260
add esp, 8
mov ebx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov ecx, ebx
shrd ecx, eax, 8
mov dword [esp + 0x1c4], ecx
jmp 0x4a101b
test ecx, ecx
sete cl
cmp esi, eax
seta al
or al, cl
je 0x4a0fc0
mov dword [ebp + 0x2c8], ebx
cmp dword [ebp + 0x2c0], ebx
jbe 0x4a0fb3
push ebx
push dword [ebp + 0x2c4]
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
je 0x4a479d
mov dword [ebp + 0x2c4], eax
mov dword [ebp + 0x2c0], ebx
mov esi, dword [ebp + 0x2c8]
jmp 0x4a0fc0
mov esi, ebx
nop word cs:[eax + eax]
nop
mov edi, dword [ebp + 0x2cc]
sub esi, edi
jb 0x4a479d
mov eax, dword [ebp + 0x2c4]
add eax, edi
push esi
push eax
push dword [esp + 0x1b4]
lea eax, [esp + 0xa8]
push eax
mov eax, dword [esp + 0x1b8]
call dword [eax + 0xc]
add esp, 0x10
movzx ebx, byte [esp + 0x9c]
cmp bl, 4
jne 0x4a1033
mov eax, dword [esp + 0xa0]
mov bl, 4
add edi, eax
mov dword [ebp + 0x2cc], edi
mov edi, ebp
lea ebp, [esp + 0x9c]
cmp bl, 4
sete cl
test eax, eax
sete dl
test cl, dl
je 0x4a105f
mov byte [edi + 0x24b], 1
jmp 0x4a105f
movzx eax, byte [esp + 0x9f]
movzx ecx, word [esp + 0x9d]
mov edi, ebp
lea ebp, [esp + 0x9c]
shl eax, 0x10
or ecx, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [esp + 0x1c4]
movzx edx, bl
mov dword [esp + 0x1fc], eax
shl ecx, 8
or edx, ecx
mov dword [esp + 0x1f8], edx
cmp bl, 4
je 0x4a1114
lea ecx, [esp + 0x1f8]
call fcn.004a7190
cmp al, 0x23
jne 0x4a4637
cmp bl, 3
jne 0x4a0e00
mov esi, dword [esp + 0x1fc]
mov ebx, dword [esi + 4]
mov edi, dword [esi]
mov eax, dword [ebx]
test eax, eax
je 0x4a10ba
push edi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x4a10d8
cmp dword [ebx + 8], 9
jb 0x4a10c9
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
push esi
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x1c]
jmp 0x4a0e00
mov ebx, dword [esp + 0x1c]
mov edx, esi
lea ecx, [ebx + 0x2c0]
push 1
push 1
push edi
call fcn.004fe890
add esp, 0xc
mov esi, dword [ebx + 0x2c8]
jmp 0x4a0eeb
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x17c]
add dword [esp + 0x178], eax
test eax, eax
movzx ecx, cl
mov eax, 1
cmove ecx, eax
mov dword [esp + 0x17c], ecx
nop dword [eax]
movzx ecx, byte [edi + 0x250]
mov ebx, dword [edi + 0x254]
mov ebp, dword [edi + 0x258]
mov eax, dword [edi + 0x25c]
mov byte [edi + 0x250], 0x10
cmp cl, 0x16
jne 0x4a3650
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x60], ebp
mov dword [esp + 0x170], eax
xor eax, eax
lea ebp, [esp + 0x9c]
mov dword [esp + 0x54], ebx
mov esi, dword [edi + 0x2cc]
mov dword [esp + 0x34], eax
cmp esi, dword [edi + 0x2c8]
mov dword [esp + 0x7c], esi
ja 0x4a479d
mov eax, dword [edi + 0x2c4]
movzx esi, word [edi + 0x238]
cmp byte [edi + 0x294], 0x16
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], eax
mov word [esp + 0x150], si
je 0x4a11ec
mov edx, dword [esp + 0x88]
mov ecx, ebp
call fcn.0043b970
movzx eax, byte [esp + 0x9c]
cmp eax, 0x16
jne 0x4a3f14
mov edx, dword [esp + 0x7c]
cmp dword [esp + 0x34], edx
ja 0x4a479d
je 0x4a3803
mov eax, dword [edi]
mov ebx, dword [edi + 0x288]
mov ecx, dword [edi + 0x28c]
mov esi, dword [edi + 0x284]
mov dword [esp + 0x1bc], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x1b8], eax
movzx eax, byte [edi + 0x30]
mov byte [esp + 0x5a], al
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x1a0], eax
mov eax, dword [edi + 0x28]
mov dword [esp + 0x1a4], eax
movzx eax, byte [edi + 0x32]
mov byte [esp + 0x3c], al
mov eax, dword [edi + 0x10]
mov dword [esp + 0x2b4], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x2b0], eax
mov eax, dword [edi + 0x274]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x278]
mov dword [esp + 0x90], eax
movzx eax, byte [edi + 0x290]
mov dword [esp + 0x160], eax
movzx eax, byte [edi + 0x2a4]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x130], ecx
sub ecx, ebx
mov eax, 0
mov dword [esp + 0x134], esi
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x2c]
mov byte [esp + 0x28], 2
cmovb ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [esp]
mov dword [esp + 0x2ac], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x34]
test esi, esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], eax
je 0x4a1320
cmp dword [esp + 0x2c], 1
jne 0x4a1310
mov esi, dword [esp + 0x2ac]
cmp dword [esp + 0x90], esi
ja 0x4a1320
jmp 0x4a1c8c
xor esi, esi
mov ebp, edx
sub ebp, eax
jae 0x4a133f
jmp 0x4a479d
test byte [esp + 0x160], 1
mov esi, dword [esp + 0x134]
jne 0x4a3931
mov ebp, edx
sub ebp, eax
jb 0x4a479d
cmp ebp, esi
mov dword [esp + 0x20], ecx
jb 0x4a479d
mov ecx, ebp
sub ecx, esi
je 0x4a3797
mov edx, dword [esp + 0x30]
mov dword [esp + 0x98], ebx
add edx, eax
mov dword [esp + 0x94], edx
add edx, esi
movzx edi, byte [edx]
mov dword [esp], edx
mov dword [esp + 0x128], edi
add edi, 0xffffffec
cmp edi, 4
ja 0x4a1440
mov edi, dword [edi*4 + 0x4a47a0]
mov dl, 1
mov dword [esp + 0xc], 0
add edi, dword [esp + 0x164]
jmp edi
mov ebx, dword [esp + 8]
and ebx, 0xffffff00
or ebx, 4
mov edi, 1
jmp 0x4a14ef
mov dx, 0xa
mov dword [esp + 0x14], ebx
sub ecx, edi
jb 0x4a479d
cmp dx, 0xa
je 0x4a37c9
movzx eax, word [esp + 0x1b2]
cmp ecx, eax
jb 0x4a37f8
mov ecx, eax
movzx ebx, al
add esi, edi
mov word [esp + 0x318], dx
and ecx, 0xff00
add esi, eax
mov eax, dword [esp + 0x14]
or ebx, ecx
mov ecx, dword [esp]
mov dword [esp + 0xc], ebx
mov word [esp + 0x31a], ax
movzx eax, byte [esp + 0x5b]
add ecx, edi
cmp word [esp + 0x150], 0xa
mov dword [esp + 0x31c], ecx
mov dword [esp], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x320], ebx
mov byte [esp + 0x324], cl
mov byte [esp + 0x325], al
jne 0x4a15a0
cmp dword [esp + 0x2c], 2
mov edi, dword [esp + 0x1c]
jne 0x4a1620
test cl, cl
jne 0x4a1620
jmp 0x4a1c0f
test cl, cl
je 0x4a1610
mov edi, dword [esp + 0x1c]
movzx eax, cl
cmp eax, 1
jne 0x4a1620
cmp word [esp + 0x150], 5
jne 0x4a1620
cmp dword [esp + 0x2c], 2
jne 0x4a1620
test byte [esp + 0x5a], 1
jne 0x4a1620
cmp dword [esp + 0xc], 3
jae 0x4a1620
jmp 0x4a209a
cmp dword [esp + 0x2c], 2
mov edi, dword [esp + 0x1c]
je 0x4a1c0f
nop
cmp byte [esp + 0x3c], 2
jne 0x4a1700
mov dword [esp + 8], esi
mov esi, dword [esp + 0x1a0]
push esi
mov ebx, dword [esp + 0x1a8]
push ebx
lea eax, [esp + 0x320]
push eax
push dword [esp + 0x2c0]
lea eax, [esp + 0xac]
push eax
mov eax, dword [esp + 0x2c4]
call dword [eax + 0xc]
add esp, 0x14
test byte [esp + 0x9c], 1
je 0x4a1740
cmp byte [esp + 0xa0], 6
jne 0x4a1776
test byte [esp + 0x1bc], 1
je 0x4a1776
mov edi, dword [esp + 0x1b8]
sub edi, dword [esp + 0xc]
jb 0x4a1776
mov ebx, dword [esp + 0x1c]
lea ecx, [esp + 0xa0]
mov dword [ebx], 1
mov dword [ebx + 4], edi
call fcn.0043bd30
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x1b8], edi
mov edi, ebx
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x98]
mov dx, 0xa
mov dword [esp + 0x1bc], 1
mov dword [esp], ecx
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 8]
cmp dx, 0xa
je 0x4a187e
jmp 0x4a1947
movzx eax, byte [esp + 0x5b]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x70], 0
mov byte [esp + 0x28], cl
mov byte [esp + 0x43], al
mov eax, dword [esp + 0x14]
mov word [esp + 0x6a], ax
mov eax, dword [esp + 0x34]
cmp dx, 0xa
je 0x4a187e
jmp 0x4a1947
mov eax, ebx
mov ecx, esi
not esi
add eax, 1
adc ecx, 0
test byte [esp + 0x5a], 1
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], ecx
je 0x4a17f2
xor ebx, 0xffff0000
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a0], ecx
jmp 0x4a180f
mov eax, dword [esp + 0xa0]
movzx ecx, byte [esp + 0xad]
movzx edx, byte [esp + 0xae]
mov ebx, dword [esp + 0xa4]
mov edi, dword [esp + 0x1c]
mov dword [esp], eax
movzx eax, byte [esp + 0xa8]
mov byte [esp + 0x14b], cl
movzx ecx, byte [esp + 0xaf]
mov byte [esp + 0x14c], dl
mov dx, 0xb
mov byte [esp + 0x28], al
movzx eax, byte [esp + 0xa9]
mov byte [esp + 0x14a], cl
mov byte [esp + 0x43], al
movzx eax, word [esp + 0xaa]
mov word [esp + 0x142], ax
movzx eax, byte [esp + 0xac]
mov dword [esp + 0x70], eax
jmp 0x4a1868
xor ebx, 0xffff0000
mov byte [edi + 0x30], 1
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a0], ecx
mov byte [esp + 0x5a], 1
or ebx, esi
movzx ebx, word [esp + 0xa0]
sete dl
mov dword [esp + 0x70], edx
movzx edx, word [esp + 0xa2]
mov word [esp + 0x6a], dx
mov edx, dword [esp + 0xa4]
mov dword [esp], edx
movzx edx, byte [esp + 0xac]
mov byte [esp + 0x28], dl
movzx edx, byte [esp + 0xad]
mov byte [esp + 0x43], dl
mov edx, ebx
mov ebx, dword [esp + 0xa8]
movzx eax, word [esp + 0xae]
mov word [esp + 0x142], ax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 8]
cmp dx, 0xa
jne 0x4a1947
cmp dword [esp + 0x2c], 2
jne 0x4a3875
mov edx, dword [esp + 0x14]
mov dword [esp + 8], edx
mov edx, dword [esp]
add eax, esi
mov esi, 2
lea ebp, [esp + 0x9c]
mov dword [esp + 0x194], edx
mov edx, dword [esp + 0x7c]
test esi, esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], eax
jne 0x4a12ed
jmp 0x4a1320
movzx eax, dx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x44], edx
cmp eax, 0xb
je 0x4a3814
cmp dword [esp + 0x2c], 2
mov edx, dword [esp + 0x14]
sete al
cmp byte [esp + 0x28], 2
sete cl
or cl, al
je 0x4a3fd7
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4a1997
mov ecx, dword [esp + 0x20]
xor ebx, ebx
cmp byte [esp + 0x28], 2
mov byte [edi + 0x2a4], bl
je 0x4a19be
jmp 0x4a218b
mov ebx, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x20]
cmp bl, 0x20
je 0x4a4097
inc bl
cmp byte [esp + 0x28], 2
mov byte [edi + 0x2a4], bl
jne 0x4a218b
mov ecx, dword [esp + 0x30]
mov eax, dword [esp]
cmp ecx, eax
ja 0x4a479d
sub eax, ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1b4], ebx
mov edx, eax
sub edx, dword [esp + 0x34]
cmp dword [esp + 0x2c], 2
lea ecx, [edx + ecx]
jne 0x4a1ac9
cmp ecx, edx
jb 0x4a479d
cmp ebp, ecx
jb 0x4a479d
mov ecx, dword [esp + 0xc]
mov edx, 0
cmp ecx, 4
jb 0x4a1a47
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
movzx ebx, byte [ecx + eax + 1]
movzx ecx, word [ecx + eax + 2]
shl ecx, 0x10
shl ebx, 8
or ebx, ecx
bswap ebx
cmp ebx, 0xffff
ja 0x4a4142
mov ecx, dword [esp + 0xc]
add ebx, 4
mov edx, 1
mov dword [esp + 0x90], ebx
add eax, dword [esp + 0x30]
push ecx
push eax
push dword [esp + 0x9c]
mov ebx, edx
call fcn.004ef180
add esp, 0xc
mov eax, dword [esp + 0x90]
mov dword [edi + 0x274], ebx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x160], 0
xor ecx, ecx
mov dword [edi + 0x278], eax
mov eax, dword [esp + 0x44]
mov word [edi + 0x27c], ax
movzx eax, word [esp + 0x6a]
mov word [edi + 0x27e], ax
mov eax, dword [esp + 0xc]
mov dword [edi + 0x280], 0
mov dword [edi + 0x284], esi
mov dword [edi + 0x288], 0
mov dword [edi + 0x28c], eax
mov byte [edi + 0x290], 0
jmp 0x4a1bbf
cmp edx, ecx
ja 0x4a479d
cmp ebp, ecx
jb 0x4a479d
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x130]
mov ecx, ebp
sub ecx, edx
cmp ecx, ebx
jb 0x4a479d
mov ecx, dword [esp + 0x94]
add eax, dword [esp + 0x30]
add ecx, ebx
push edx
push eax
push ecx
call fcn.004ef180
add esp, 0xc
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0xc]
mov dword [edi + 0x284], esi
test cl, 1
mov dword [edi + 0x28c], ebx
je 0x4a1b35
mov eax, ebx
mov ebx, ecx
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
jmp 0x4a1bbf
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
cmp ebp, ebx
jb 0x4a479d
mov eax, ebx
sub eax, ecx
jb 0x4a479d
mov dword [esp + 0x130], ebx
xor ebx, ebx
cmp eax, 4
jb 0x4a1b9e
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x94]
movzx ecx, byte [edx + eax + 1]
movzx eax, word [edx + eax + 2]
mov edx, dword [esp + 0x14]
shl eax, 0x10
shl ecx, 8
or ecx, eax
bswap ecx
cmp ecx, 0xffff
ja 0x4a4142
mov edx, dword [esp + 0x7c]
add ecx, 4
mov ebx, 1
mov dword [edi + 0x274], ebx
mov dword [esp + 0x90], ecx
mov dword [edi + 0x278], ecx
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x130]
mov dword [esp + 0x130], eax
mov dword [esp + 0x84], ecx
sub eax, ecx
mov ecx, 0
mov dword [esp + 0x2c], ebx
cmovb eax, ecx
test bl, 1
je 0x4a1bed
cmp dword [esp + 0x90], eax
jbe 0x4a2204
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x130]
cmp ebp, esi
lea ebp, [esp + 0x9c]
ja 0x4a1294
jmp 0x4a3803
xor ecx, ecx
mov eax, dword [esp]
mov ebx, dword [esp + 0x30]
lea ebp, [esp + 0x9c]
cmp ebx, eax
ja 0x4a479d
sub eax, ebx
mov ebx, dword [esp + 0xc]
add ebx, eax
cmp ebx, dword [esp + 0x7c]
ja 0x4a479d
cmp eax, ebx
mov dword [esp + 0x2c], ebx
ja 0x4a479d
mov eax, dword [esp]
add dword [esp + 0x34], esi
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov byte [esp + 0x13], 1
mov dword [esp + 0x64], 0
mov byte [esp + 7], cl
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x5b]
mov word [esp + 0x6a], si
mov ah, al
mov dword [esp + 0x78], eax
mov eax, edx
mov edx, esi
cmp ax, 0xa
jne 0x4a1e02
jmp 0x4a3f90
mov esi, dword [esp + 0x134]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x34]
mov edi, edx
mov dword [esp + 0x14], ebx
sub edi, eax
jb 0x4a479d
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x20], ecx
lea edx, [ebx + eax]
cmp edx, ebx
jb 0x4a479d
cmp edi, edx
jb 0x4a479d
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
movzx eax, word [ebx + 0x27c]
mov dword [esp + 0x44], eax
movzx eax, word [ebx + 0x27e]
mov word [esp + 0x6a], ax
mov eax, dword [esp + 0x34]
add ecx, eax
mov eax, dword [esp + 0x130]
mov dword [esp], ecx
mov ecx, 0
sub eax, dword [esp + 0x84]
cmovb eax, ecx
cmp eax, dword [esp + 0x90]
mov dword [esp + 0xc], eax
ja 0x4a1d32
mov dword [ebx + 0x274], 2
mov edi, ebx
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp]
add dword [esp + 0x34], esi
jmp 0x4a1d99
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x288], edx
mov esi, eax
sub esi, edx
jb 0x4a479d
cmp edi, eax
jb 0x4a479d
mov ebx, dword [esp]
xor edi, edi
cmp esi, 4
jb 0x4a1d87
movzx esi, byte [ebx + edx + 1]
movzx edx, word [ebx + edx + 2]
shl edx, 0x10
shl esi, 8
or esi, edx
bswap esi
cmp esi, 0xffff
ja 0x4a45e9
add esi, 4
mov edi, 1
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x274], edi
mov edi, edx
mov dword [edx + 0x278], esi
add ebx, dword [esp + 0x84]
mov esi, dword [esp + 0x30]
cmp esi, ebx
ja 0x4a479d
mov edx, ebx
sub edx, esi
mov esi, dword [esp + 0x90]
add esi, edx
cmp esi, dword [esp + 0x7c]
ja 0x4a479d
cmp edx, esi
mov dword [esp + 0x2c], esi
ja 0x4a479d
mov eax, ebx
mov ebx, dword [esp + 0x90]
mov dl, 1
mov byte [esp + 7], 2
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
cmp dword [esp + 0xc], ebx
setbe byte [esp + 0x13]
mov eax, dword [esp + 0x44]
cmp ax, 0xa
je 0x4a3f90
mov dword [esp + 0x44], eax
movzx eax, ax
mov dword [esp + 0xc], ebx
cmp eax, 0xb
je 0x4a3f9f
cmp byte [esp + 0x64], 0
je 0x4a1e23
mov dword [edi], 0
movzx eax, byte [esp + 0x13]
mov byte [edi + 0x245], al
movzx eax, byte [esp + 7]
test al, al
je 0x4a1e7d
cmp al, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
je 0x4a1f24
movzx eax, al
cmp eax, 2
je 0x4a1ecc
cmp eax, 3
jne 0x4a4166
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xc]
mov ebp, 0x80000004
mov ebx, 0x80000000
mov dword [esp + 0x80], eax
mov dword [esp + 0x190], ecx
jmp 0x4a1fc6
cmp byte [edi + 0x247], 0
mov eax, dword [esp + 0x5c]
jne 0x4a1f93
cmp word [edi + 0x238], 5
jne 0x4a1f93
cmp dword [esp + 0xc], 1
jne 0x4a404d
cmp byte [eax], 1
jne 0x4a404d
movzx eax, byte [edi + 0x243]
test al, al
je 0x4a434b
dec al
mov byte [edi + 0x243], al
jmp 0x4a25fb
cmp dword [esp + 0xc], 0
je 0x4a1fcf
mov eax, dword [esp + 0x5c]
movzx ebx, byte [eax]
mov al, 0x14
mov ecx, ebx
add cl, 2
cmp cl, 0x1b
ja 0x4a1ef4
movzx eax, cl
movzx eax, byte [eax + 0x5f7f24]
mov esi, dword [esp + 0xc]
mov byte [esp + 0x14e], al
mov byte [esp + 0x14f], bl
cmp esi, 4
jae 0x4a20a1
mov edx, dword [esp + 0x298]
mov ax, 3
mov esi, 0x5b9bd3
jmp 0x4a1fdf
mov eax, dword [esp + 0xc]
mov bl, 0xc
test eax, eax
je 0x4a417f
mov ebx, dword [esp + 0x5c]
mov ecx, eax
mov ah, 2
mov esi, 0
movzx edx, byte [ebx]
cmp edx, 2
sete al
sub ah, al
cmp edx, 1
movzx eax, ah
cmove eax, esi
cmp ecx, 1
je 0x4a41b0
movzx ecx, byte [ebx + 1]
mov bl, 0x23
mov dword [esp + 0x18], ebx
cmp ecx, 0x79
mov dword [esp + 0x19c], ecx
ja 0x4a22b2
mov ecx, dword [ecx*4 + 0x4a4818]
add ecx, dword [esp + 0x164]
jmp ecx
cmp dword [esp + 0xc], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
je 0x4a420b
cmp byte [eax], 1
jne 0x4a424b
cmp dword [esp + 0xc], 1
mov ebp, 0x80000003
jne 0x4a4295
mov ebx, dword [esp + 0x18c]
mov dl, bh
mov eax, ebx
jmp 0x4a22e2
mov edx, dword [esp + 0x29c]
mov esi, 0x5bb630
mov ax, 0xd
mov dword [esp], 0
mov dword [esp + 8], eax
mov edi, edx
mov dl, 0xc
mov ebx, 0x80000016
mov eax, dword [esp + 0x4c]
movzx ecx, byte [esp + 0x48]
movzx edx, dl
shl edi, 0x10
movzx ebp, si
or ebp, edi
shl eax, 0x10
shl ecx, 8
or ecx, eax
mov eax, dword [esp]
or edx, ecx
movzx ecx, word [esp + 8]
shl eax, 0x10
or ecx, eax
cmp ebx, 0x80000016
je 0x4a4191
mov dword [esp + 0x190], ebx
mov ebx, ecx
mov ecx, 0x17
lea edi, [esp + 0x398]
lea esi, [esp + 0x1f8]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x27c], ebp
mov dword [esp + 0x280], ebx
mov ebp, 0x80000000
mov dword [esp + 0x278], edx
movzx eax, byte [esp + 0x147]
mov ecx, dword [esp + 0x5c]
mov byte [esp + 0x149], al
mov eax, dword [esp + 0xc]
mov ebx, ecx
mov dl, ch
mov dword [esp + 0x80], eax
movzx eax, byte [esp + 0x146]
mov byte [esp + 0x148], al
mov eax, ecx
jmp 0x4a22e2
mov cl, 1
jmp 0x4a1c11
mov edx, dword [esp + 0x5c]
movzx ecx, byte [edx + 1]
movzx edx, word [edx + 2]
shl edx, 0x10
shl ecx, 8
or ecx, edx
lea edx, [esi - 4]
mov ebp, ecx
bswap ebp
cmp edx, ebp
jae 0x4a20ed
mov edi, ebp
mov dl, 0xb
mov esi, ebp
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
shr edi, 0x10
jmp 0x4a1fee
lea edx, [ebp + 4]
mov byte [esp + 0x194], bl
cmp edx, esi
ja 0x4a479d
mov edx, dword [esp + 0x5c]
cmp al, 0x13
lea edx, [edx + 4]
mov dword [esp + 0x11c], edx
mov dword [esp + 0x120], ebp
mov dword [esp + 0x30], edx
mov dword [esp + 0x124], 0
ja 0x4a2168
mov bl, 0x10
movzx edx, al
mov di, 0x11
mov esi, 0x5e28aa
mov dword [esp], 0
mov dword [esp + 0x150], ebx
mov ebx, dword [edx*4 + 0x4a47c8]
mov edx, dword [esp + 0x294]
mov dword [esp + 8], edi
add ebx, dword [esp + 0x164]
mov edi, edx
jmp ebx
mov cx, 0x8000
mov dword [esp + 0x124], ebp
mov ebx, 0x80000015
mov dword [esp + 0x3c], 0
mov dword [esp + 0x28], ecx
xor ecx, ecx
jmp 0x4a30b4
mov edx, dword [esp + 0x30]
mov ebx, dword [esp]
cmp edx, ebx
ja 0x4a479d
sub ebx, edx
lea ebp, [esp + 0x9c]
add eax, ebx
cmp eax, dword [esp + 0x7c]
ja 0x4a479d
mov edx, dword [esp + 0x14]
cmp ebx, eax
mov dword [esp + 0x2c], eax
ja 0x4a479d
mov eax, dword [esp + 0x30]
add dword [esp + 0x34], esi
mov byte [esp + 0x13], 1
mov dword [esp + 0x64], 0
add eax, ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x43]
mov ah, al
mov dword [esp + 0x78], eax
mov ah, byte [esp + 0x28]
mov byte [esp + 7], ah
mov eax, dword [esp + 0x44]
cmp ax, 0xa
jne 0x4a1e02
jmp 0x4a3f90
cmp dword [edi + 0x274], 2
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
lea ebp, [esp + 0x9c]
jne 0x4a1c97
jmp 0x4a479d
cmp dword [esp + 0xc], 2
ja 0x4a41cf
movzx ecx, byte [esp + 0x18]
mov ebx, dword [esp + 0x19c]
mov esi, edx
movzx edi, al
mov ebp, 0x80000001
shl esi, 8
shl ecx, 0x10
shl ebx, 0x18
or edi, ecx
or edi, esi
or ebx, edi
mov ecx, dword [esp + 0x27c]
lea edi, [esp + 0x334]
lea esi, [esp + 0x398]
mov dword [esp + 0x32c], ecx
mov ecx, dword [esp + 0x280]
mov dword [esp + 0x330], ecx
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x18c], ebx
movzx ecx, byte [esp + 0x149]
movzx esi, word [esp + 0x6a]
mov byte [esp + 0x390], cl
movzx ecx, byte [esp + 0x148]
mov byte [esp + 0x391], cl
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x318], ebp
mov byte [esp + 0x31c], al
mov byte [esp + 0x31d], dl
mov edx, ebx
shr edx, 0x10
cmp ebp, 0x80000001
mov word [esp + 0x31e], dx
mov dword [esp + 0x320], ecx
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x324], ecx
mov ecx, dword [esp + 0x278]
mov dword [esp + 0x328], ecx
mov ecx, dword [esp + 0x44]
mov word [esp + 0x394], cx
mov word [esp + 0x396], si
jne 0x4a23dc
mov edi, dword [esp + 0x1c]
shr ebx, 0x18
cmp al, 2
lea ebp, [esp + 0x9c]
je 0x4a3fe8
cmp byte [edi + 0x247], 1
jne 0x4a2593
test dl, dl
jne 0x4a2593
mov byte [edi + 0x24a], 1
jmp 0x4a25e7
mov ecx, 0x20
lea edi, [esp + 0x1f8]
lea esi, [esp + 0x318]
lea ebp, [esp + 0x9c]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x1c]
cmp byte [edi + 0x247], 1
jne 0x4a249d
cmp word [edi + 0x238], 5
je 0x4a249d
mov eax, dword [esp + 0x1f8]
mov ecx, 0x7fffffff
add eax, ecx
cmp eax, 4
setb cl
cmp eax, 1
setne al
test cl, al
jne 0x4a249d
movzx eax, byte [esp + 0x270]
cmp byte [edi + 0x244], al
jne 0x4a249d
movzx eax, byte [edi + 0x241]
test al, al
je 0x4a2675
dec al
mov word [esp + 0x118], 4
mov dword [esp + 0x9c], 0x80000001
mov dword [esp + 0xa0], 0x180000
mov ecx, edi
mov edx, ebp
mov byte [edi + 0x241], al
xor eax, eax
cmp byte [edi + 0x31], 2
sete al
push eax
call fcn.00456630
add esp, 4
mov esi, dword [esp + 0x2c]
mov bl, 0x16
jmp 0x4a26bf
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x2c8], edi
mov ebx, edi
mov ecx, 0x20
mov edi, ebp
lea esi, [esp + 0x318]
mov dword [esp + 0x2cc], eax
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0x2d0], eax
rep movsd dword es:[edi], dword [esi]
push ebp
lea eax, [esp + 0x2cc]
push eax
push dword [esp + 0x5c]
lea eax, [esp + 0x3a4]
push eax
mov eax, dword [esp + 0x70]
call dword [eax + 0xc]
add esp, 0x10
movzx esi, byte [esp + 0x398]
cmp esi, 2
jae 0x4a2604
movzx eax, byte [esp + 0x399]
mov ecx, ebx
mov edx, ebp
mov word [esp + 0x118], 4
mov dword [esp + 0x9c], 0x80000001
mov dword [esp + 0xa0], 0x10001
mov byte [esp + 0x3b], al
movzx eax, word [esp + 0x39a]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x198], eax
xor eax, eax
cmp byte [ebx + 0x31], 2
sete al
push eax
call fcn.00456630
add esp, 4
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov byte [ebx + 0x249], 1
mov edi, ebx
mov ebx, esi
jmp 0x4a26db
test al, al
mov byte [esp + 0x1f9], dl
mov byte [esp + 0x1fa], bl
mov byte [esp + 0x1f8], 0xa
jne 0x4a4225
movzx eax, byte [edi + 0x240]
test al, al
je 0x4a4252
dec al
mov byte [edi + 0x240], al
cmp word [edi + 0x238], 5
jne 0x4a25db
cmp dl, 0x17
jne 0x4a437c
lea ecx, [esp + 0x1f8]
call fcn.0043bd30
lea ecx, [esp + 0x318]
call fcn.004a8b30
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
jmp 0x4a26e4
cmp esi, 0x16
mov ebx, esi
jne 0x4a2630
mov eax, dword [esp + 0x3a0]
push dword [esp + 0x39c]
call dword [eax + 0x20]
add esp, 4
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x60], edx
jmp 0x4a26cf
movzx eax, byte [esp + 0x399]
mov ecx, dword [esp + 0x39c]
mov edx, dword [esp + 0x3a0]
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x3b], al
movzx eax, word [esp + 0x39a]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x60], edx
mov dword [esp + 0x170], eax
mov dword [esp + 0x198], ecx
jmp 0x4a26cf
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x4a268c
push dword [esp + 0x54]
call eax
add esp, 4
mov eax, dword [esp + 0x60]
mov bl, 9
mov byte [esp + 0x3b], 0x40
cmp dword [eax + 4], 0
je 0x4a26bf
cmp dword [eax + 8], 9
jae 0x4a26a9
mov eax, dword [esp + 0x54]
jmp 0x4a26b0
mov eax, dword [esp + 0x54]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x2c], esi
call fcn.004a8b30
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
cmp bl, 0x16
jne 0x4a4034
cmp byte [edi + 0x24a], 0
mov dword [esp + 0x6c], 0
je 0x4a1189
jmp 0x4a3fb0
mov edx, dword [esp + 0x124]
movsd xmm1, qword [esp + 0x2e8]
movsd xmm2, qword [esp + 0x2e0]
cmp edx, dword [esp + 0x120]
lea edx, [esp + 0x14e]
mov dword [esp + 0x108], edx
mov dword [esp + 0x9c], ebx
mov byte [esp + 0xa0], cl
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0xa0]
mov byte [esp + 0xa1], cl
mov ecx, dword [esp + 0x28]
mov word [esp + 0xa2], cx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xa4], ecx
movzx ecx, word [esp + 0x50]
mov word [esp + 0xac], si
mov word [esp + 0xae], di
movlps qword [esp + 0xb0], xmm0
mov esi, dword [esp + 0x134]
mov edi, dword [esp + 0x94]
movq xmm0, qword [esp + 0x2f0]
mov word [edx + 0x18], cx
movzx ecx, byte [esp + 0x52]
mov byte [edx + 0x1a], cl
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xbb], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xbf], ecx
movzx ecx, byte [esp + 0x98]
mov byte [esp + 0xc3], cl
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0x188]
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0x184]
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0x160]
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd4], esi
movsd qword [edx + 0x58], xmm1
movsd xmm1, qword [esp + 0x2d8]
movsd qword [edx + 0x50], xmm2
movq xmm2, qword [esp + 0x2c8]
movq qword [edx + 0x60], xmm0
movsd qword [edx + 0x48], xmm1
movq xmm1, qword [esp + 0x2d0]
movq qword [edx + 0x38], xmm2
movq qword [edx + 0x40], xmm1
jae 0x4a322f
lea ecx, [esp + 0x9c]
call fcn.0044cc20
mov edi, 0x5b9c8f
mov ax, 0x17
mov esi, 0x5b9c8f
mov dl, 0xf
mov ebx, 0x80000016
mov dword [esp], 0
shr edi, 0x10
mov dword [esp + 8], eax
jmp 0x4a1ff3
mov edx, dword [esp + 0xa0]
lea edi, [esp + 0x1f8]
lea esi, [esp + 0xac]
mov ecx, edx
shr ecx, 0x10
mov dword [esp + 0x4c], ecx
mov ecx, ebp
shr ecx, 0x10
mov dword [esp], ecx
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov byte [esp + 0x147], al
mov al, dh
mov dword [esp + 8], ebp
mov edi, dword [esp + 0x30]
mov dword [esp + 0x48], eax
movzx eax, byte [esp + 0x194]
mov esi, edi
shr edi, 0x10
mov byte [esp + 0x146], al
jmp 0x4a1ff3
mov edx, dword [esp + 0x2a8]
mov byte [esp + 0x2b8], cl
lea esi, [esp + 0x2b9]
movzx ecx, byte [edx + 2]
mov byte [esi + 2], cl
movzx ecx, word [edx]
lea edx, [esp + 0x2b8]
mov word [esi], cx
mov dword [esp + 0x2bc], ebx
mov dword [esp + 0x2c0], ebp
lea ebp, [esp + 0x9c]
mov dword [esp + 0x2c4], eax
mov ecx, ebp
call fcn.004a62a0
mov eax, dword [esp + 0x138]
cmp byte [eax], 0x16
jne 0x4a36e0
mov esi, dword [edi + 0x254]
mov edi, dword [edi + 0x258]
mov eax, dword [edi]
test eax, eax
je 0x4a36c0
push esi
call eax
add esp, 4
cmp dword [edi + 4], 0
je 0x4a36e9
cmp dword [edi + 8], 9
jb 0x4a36cf
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4a36e9
push eax
call fcn.004a6a20
add esp, 4
movsd xmm1, qword [esp + 0xa4]
mov eax, dword [esp + 0x138]
movq xmm0, qword [esp + 0x9c]
movq xmm2, qword [esp + 0x2b8]
mov edi, dword [esp + 0x1c]
movsd qword [eax + 8], xmm1
movq xmm1, qword [esp + 0x2c0]
movq qword [eax], xmm0
movq qword [esp + 0x1c8], xmm2
movq qword [esp + 0x1d0], xmm1
cmp byte [esp + 0x1c8], 0x16
jne 0x4a4696
test byte [esp + 0x14d], 1
jne 0x4a4647
movzx ecx, byte [edi + 0x246]
mov bh, byte [edi + 0x247]
mov eax, dword [edi + 0x64]
mov esi, dword [esp + 0x1c0]
mov bl, cl
and cl, bh
test eax, eax
setne dl
test cl, dl
jne 0x4a0d3c
test bl, bl
je 0x4a3784
test bh, 1
jne 0x4a4647
test byte [esp + 0x17c], 1
je 0x4a0d3c
jmp 0x4a4785
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x1c]
mov cl, 7
lea ebp, [esp + 0x9c]
and ebx, 0xff00
movzx edx, bl
mov eax, ebx
mov esi, ebx
mov edx, dword [edx*4 + 0x4a4a00]
mov dword [esp + 0x14], eax
add edx, dword [esp + 0x164]
jmp edx
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov cl, 7
lea ebp, [esp + 0x9c]
movzx eax, dl
mov esi, edx
mov edx, dword [eax*4 + 0x4a4a00]
mov ebx, esi
add edx, dword [esp + 0x164]
jmp edx
mov edi, dword [esp + 0x1c]
lea ebp, [esp + 0x9c]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
jmp 0x4a3937
movzx eax, word [esp + 0x142]
mov dword [esp + 0x74], eax
movzx eax, byte [esp + 0x43]
mov edx, dword [esp]
lea ebp, [esp + 0x9c]
mov ah, al
mov dword [esp + 0x78], eax
movzx eax, byte [esp + 0x28]
mov byte [esp + 7], al
movzx eax, byte [esp + 0x14a]
mov byte [esp + 0x27], al
movzx eax, byte [esp + 0x14c]
mov dword [esp + 0x64], eax
mov eax, edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x6c], edx
movzx edx, byte [esp + 0x14b]
mov byte [esp + 0x13], dl
mov edx, dword [esp + 0x14]
jmp 0x4a3bef
mov esi, dword [esp + 0x14]
mov word [esp + 0x1f8], 0x2a09
lea ebp, [esp + 0x9c]
lea edx, [esp + 0x1f8]
mov ecx, ebp
call fcn.0043b970
mov ecx, dword [esp + 0x88]
cmp byte [ecx], 0x16
je 0x4a38b0
call fcn.0043bd30
mov ecx, dword [esp + 0x88]
movsd xmm0, qword [esp + 0x9c]
movsd xmm1, qword [esp + 0xa4]
mov eax, dword [esp + 0x1fc]
mov edx, dword [esp + 0x1f8]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0x200]
mov dword [esp + 0xc], eax
mov eax, ecx
shr eax, 0x10
mov dword [esp + 0x74], eax
movzx eax, byte [esp + 0x204]
mov dword [esp + 0x6c], eax
movzx eax, byte [esp + 0x205]
mov byte [esp + 0x13], al
movzx eax, byte [esp + 0x206]
mov dword [esp + 0x64], eax
mov ah, byte [esp + 0x207]
mov byte [esp + 0x27], ah
mov dword [esp + 0x78], ecx
mov byte [esp + 7], cl
mov ecx, dword [esp + 0x20]
mov eax, edx
mov edx, esi
jmp 0x4a3bef
mov ebx, dword [esp + 8]
mov edx, eax
mov eax, dword [edi + 0x2cc]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], ebx
mov esi, eax
sub esi, edx
jbe 0x4a396c
cmp eax, dword [edi + 0x2c8]
ja 0x4a479d
mov eax, dword [edi + 0x2c4]
add edx, eax
push esi
push edx
push eax
call fcn.004ef180
add esp, 0xc
jmp 0x4a3972
xor esi, esi
cmp eax, edx
jne 0x4a3978
mov dword [edi + 0x2cc], esi
mov eax, dword [esp + 0x138]
mov ebx, dword [esp + 0x54]
cmp byte [eax], 0x16
jne 0x4a39c0
mov esi, dword [edi + 0x254]
mov edi, dword [edi + 0x258]
mov eax, dword [edi]
test eax, eax
je 0x4a39a0
push esi
call eax
add esp, 4
cmp dword [edi + 4], 0
je 0x4a39c9
cmp dword [edi + 8], 9
jb 0x4a39af
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4a39c9
push eax
call fcn.004a6a20
add esp, 4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov edx, 0
mov esi, 0
mov edi, 0
mov byte [eax + 0x250], 0x16
mov dword [eax + 0x254], ebx
mov dword [eax + 0x258], ecx
mov ecx, dword [eax + 0x64]
test ecx, ecx
je 0x4a3a22
mov esi, dword [eax + 0x58]
mov edx, dword [eax + 0x60]
mov eax, 0
cmp edx, esi
mov edi, esi
mov ebx, esi
cmovb edi, eax
sub edx, edi
mov edi, ecx
sub ebx, edx
sub edi, ebx
ja 0x4a3a1e
add ecx, edx
xor edi, edi
mov esi, ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x5c]
lea edx, [edx + edx*2]
lea esi, [esi + esi*2]
lea edi, [edi + edi*2]
xor eax, eax
lea edx, [ecx + edx*4]
lea esi, [ecx + esi*4]
lea edi, [ecx + edi*4]
jmp 0x4a3a46
add eax, dword [edx + 8]
add edx, 0xc
cmp edx, esi
jne 0x4a3a40
test ecx, ecx
je 0x4a3a67
cmp ecx, edi
je 0x4a3a67
mov ebx, ecx
mov ebp, edi
mov ecx, edx
mov edi, esi
mov esi, ebp
mov edx, ebx
lea ebp, [esp + 0x9c]
jmp 0x4a3a40
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov esi, 0
mov edi, 0
mov ebx, 0
mov edx, dword [eax + 0x4c]
test edx, edx
je 0x4a3ab5
mov edi, dword [eax + 0x40]
mov esi, dword [eax + 0x48]
mov eax, 0
cmp esi, edi
mov ebx, edi
mov ebp, edi
cmovb ebx, eax
sub esi, ebx
mov ebx, edx
sub ebp, esi
sub ebx, ebp
ja 0x4a3aaa
add edx, esi
xor ebx, ebx
mov edi, edx
mov eax, dword [esp + 0x1c]
lea ebp, [esp + 0x9c]
mov edx, dword [eax + 0x44]
lea esi, [esi + esi*2]
lea ebx, [ebx + ebx*2]
lea edi, [edi + edi*2]
lea esi, [edx + esi*4]
lea eax, [edx + edi*4]
lea ebx, [edx + ebx*4]
jmp 0x4a3ad6
add ecx, dword [esi + 8]
add esi, 0xc
cmp esi, eax
jne 0x4a3ad0
test edx, edx
je 0x4a3af7
cmp edx, ebx
je 0x4a3af7
mov ebp, edx
mov edi, ebx
mov edx, esi
mov ebx, eax
mov esi, ebp
lea ebp, [esp + 0x9c]
mov eax, edi
jmp 0x4a3ad0
mov edi, dword [esp + 0x1c]
mov edx, dword [esp]
movzx eax, byte [edi + 0x24a]
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1d0], ecx
mov byte [esp + 0x1d4], al
mov byte [esp + 0x1c8], 0x16
test byte [esp + 0x14d], 1
je 0x4a374f
jmp 0x4a4647
cmp al, 3
mov dword [esp + 0x5c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
je 0x4a3cf1
mov edx, dword [esp + 0x78]
movzx ebp, byte [esp + 7]
movzx edi, byte [esp + 0x27]
movzx eax, al
cmp eax, 6
movzx esi, dh
movzx edx, byte [esp + 0x64]
je 0x4a3c8a
cmp eax, 0x11
jne 0x4a3d17
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x1c]
shl esi, 8
shl edi, 8
mov word [esp + 0x118], 4
mov dword [esp + 0x9c], 0x80000001
mov dword [esp + 0xa0], 0x40001
or edi, edx
shl eax, 0x10
mov ecx, ebx
or esi, eax
xor eax, eax
or esi, ebp
cmp byte [ebx + 0x31], 2
lea ebp, [esp + 0x9c]
mov edx, ebp
sete al
push eax
call fcn.00456630
add esp, 4
mov byte [ebx + 0x249], 1
jmp 0x4a3d9b
push dword [esp + 0x54]
mov eax, dword [esp + 0x64]
mov dword [esp + 4], edx
call dword [eax + 0x1c]
add esp, 4
mov ebx, dword [esp + 0x1c]
xor eax, eax
mov word [esp + 0x118], 4
mov dword [esp + 0x9c], 0x80000001
mov dword [esp + 0xa0], 0x20001
lea edx, [esp + 0x9c]
cmp byte [ebx + 0x31], 2
mov ecx, ebx
sete al
push eax
call fcn.00456630
add esp, 4
mov eax, dword [esp + 0x74]
shl edi, 8
shl esi, 8
mov byte [ebx + 0x249], 1
add edi, dword [esp]
jmp 0x4a3d23
cmp byte [edi + 0x24c], 0
je 0x4a3d33
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov edx, edi
movzx edi, byte [esp + 0x27]
movzx esi, byte [esp + 7]
mov byte [edx + 0x1fc], 0x10
jmp 0x4a3d84
mov eax, dword [esp + 0x74]
shl esi, 8
shl edi, 8
or edi, edx
shl eax, 0x10
or esi, eax
or esi, ebp
lea ebp, [esp + 0x9c]
jmp 0x4a3d9b
xor eax, eax
cmp byte [edi + 0x31], 2
mov word [esp + 0x118], 4
mov dword [esp + 0x9c], 0x80000001
mov dword [esp + 0xa0], 0x100001
mov ecx, edi
mov edx, ebp
sete al
push eax
call fcn.00456630
add esp, 4
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov edx, edi
movzx edi, byte [esp + 0x27]
movzx esi, byte [esp + 7]
mov byte [edx + 0x249], 1
movzx ecx, ch
shl eax, 0x10
shl edi, 8
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x64]
or esi, ecx
or edi, eax
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x1d8]
mov eax, ecx
mov word [esp + 0x1d8], cx
movzx ecx, byte [esp + 0x13]
shr eax, 0x10
mov word [esp + 0x1da], ax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1e0], esi
mov byte [esp + 0x1e4], al
mov byte [esp + 0x1e5], cl
mov ecx, ebp
mov word [esp + 0x1e6], di
call fcn.004a62a0
mov eax, dword [esp + 0x138]
cmp byte [eax], 0x16
jne 0x4a3e3b
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 0x258]
mov esi, dword [eax + 0x254]
mov eax, dword [edi]
test eax, eax
je 0x4a3e1b
push esi
call eax
add esp, 4
cmp dword [edi + 4], 0
je 0x4a3e44
cmp dword [edi + 8], 9
jb 0x4a3e2a
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4a3e44
push eax
call fcn.004a6a20
add esp, 4
movsd xmm0, qword [esp + 0x9c]
mov eax, dword [esp + 0x138]
movsd xmm1, qword [esp + 0xa4]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov eax, dword [edi + 0x2cc]
mov esi, eax
sub esi, ecx
jbe 0x4a3e9f
cmp eax, dword [edi + 0x2c8]
ja 0x4a479d
mov eax, dword [edi + 0x2c4]
mov ecx, dword [esp + 0x34]
add ecx, eax
push esi
push ecx
push eax
call fcn.004ef180
add esp, 0xc
jmp 0x4a3ea5
xor esi, esi
cmp eax, ecx
jne 0x4a3eab
mov dword [edi + 0x2cc], esi
movq xmm0, qword [esp + 0x1d8]
movq xmm1, qword [esp + 0x1e0]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x54]
movq qword [esp + 0x1d0], xmm1
movq qword [esp + 0x1c8], xmm0
mov eax, dword [ebx]
test eax, eax
je 0x4a3ee3
push esi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x4a3f01
cmp dword [ebx + 8], 9
jb 0x4a3ef2
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esp + 0x1c8], 0x16
je 0x4a3741
jmp 0x4a4696
mov edx, dword [esp + 0xa0]
movzx ecx, byte [esp + 0x9f]
movzx esi, word [esp + 0x9d]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0xc], edx
movzx edx, byte [esp + 0xa8]
shl ecx, 0x10
mov dword [esp + 0x78], ebx
or esi, ecx
mov ecx, dword [esp + 0x20]
shl esi, 8
or esi, eax
mov eax, ebx
mov byte [esp + 7], bl
mov dword [esp + 0x6c], edx
movzx edx, byte [esp + 0xa9]
shr eax, 0x10
mov dword [esp + 0x74], eax
mov eax, esi
mov byte [esp + 0x13], dl
movzx edx, byte [esp + 0xaa]
mov dword [esp + 0x64], edx
movzx edx, byte [esp + 0xab]
mov byte [esp + 0x27], dl
mov edx, dword [esp + 0x14]
jmp 0x4a3bef
mov ebx, edx
mov dword [esp + 0x6c], 0
jmp 0x4a380b
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x6c], 0
jmp 0x4a3bef
mov esi, dword [esp + 0x7c]
mov ebx, edx
mov edx, eax
sub eax, dword [esp + 0x2c]
sub esi, dword [esp + 0x2c]
sub esi, eax
jb 0x4a479d
add edx, esi
mov dword [esp + 0x6c], 0
jmp 0x4a3937
mov esi, edx
mov word [esp + 0x1f8], 0x1d09
jmp 0x4a3883
xor eax, eax
cmp byte [edi + 0x31], 2
mov dword [esp + 0xc], edx
mov word [esp + 0x118], 4
mov dword [esp + 0x9c], 0x80000001
mov dword [esp + 0xa0], 0xd0001
mov ecx, edi
mov edx, ebp
sete al
push eax
call fcn.00456630
add esp, 4
mov al, 0xa
mov byte [edi + 0x249], 1
mov dword [esp + 0x2c], eax
jmp 0x4a4274
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
jmp 0x4a44a6
xor eax, eax
cmp byte [edi + 0x31], 2
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
mov word [esp + 0x118], 4
mov dword [esp + 0x9c], 0x80000001
mov dword [esp + 0xa0], 0x10001
mov ecx, edi
mov edx, ebp
sete al
push eax
call fcn.00456630
add esp, 4
mov byte [edi + 0x249], 1
jmp 0x4a4353
lea ebp, [esp + 0x9c]
mov esi, edx
lea edx, [esp + 0x1f8]
mov word [esp + 0x1f8], 0x3e09
mov ecx, ebp
call fcn.0043b970
mov ecx, dword [esp + 0x88]
cmp byte [ecx], 0x16
je 0x4a40d0
call fcn.0043bd30
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x1fc]
movsd xmm0, qword [esp + 0x9c]
movsd xmm1, qword [esp + 0xa4]
mov edx, dword [esp + 0x1f8]
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x204]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0x200]
mov dword [esp + 0x6c], eax
movzx eax, byte [esp + 0x205]
mov ebx, ecx
shr ebx, 0x10
mov dword [esp + 0x74], ebx
mov byte [esp + 0x13], al
movzx eax, byte [esp + 0x206]
mov dword [esp + 0x64], eax
movzx eax, byte [esp + 0x207]
mov byte [esp + 0x27], al
jmp 0x4a391c
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc], 1
lea ebp, [esp + 0x9c]
and eax, 0xffffff00
or eax, 3
jmp 0x4a3bef
mov eax, dword [esp + 0x190]
mov esi, dword [esp + 0x18c]
mov bl, 3
mov dword [esp + 0x2c], eax
jmp 0x4a42c4
mov ecx, 0xa
mov dword [esp + 0x80], 0x5bb54b
jmp 0x4a41e5
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x2c], ecx
mov ebx, edx
mov esi, edx
lea ebp, [esp + 0x9c]
jmp 0x4a42c4
mov edx, dword [esp + 0x19c]
mov eax, dword [esp + 0x18]
mov ecx, 0x10
mov dword [esp + 0x80], 0x5bb620
mov bl, 0xc
jmp 0x4a41e5
mov edi, dword [esp + 0x1c]
mov bl, 0xf
mov ecx, 0x13
mov dword [esp + 0x80], 0x5b9ba4
movzx esi, byte [esp + 0x18]
movzx edx, dl
mov dword [esp + 0x2c], ecx
shl edx, 8
shl esi, 0x10
or edx, esi
movzx esi, al
movzx eax, bl
or esi, edx
shl esi, 8
or esi, eax
jmp 0x4a42c4
mov ebx, 0xc
mov dword [esp + 0x80], 0x5b9bce
mov ecx, 2
jmp 0x4a42b1
movzx eax, word [esp + 0x1fa]
mov ebp, dword [esp + 0x1fc]
mov esi, dword [esp + 0x200]
mov edi, dword [esp + 0x204]
mov dword [esp + 0xc], edx
jmp 0x4a43f8
mov ebx, 2
jmp 0x4a42b1
lea ecx, [esp + 0x1f8]
call fcn.0043bd30
movzx ecx, byte [esp + 0x145]
mov al, 9
mov dword [esp + 0x2c], eax
mov al, 0x41
mov dword [esp + 0xc], eax
mov ebx, ecx
mov ebp, dword [esp + 0x16c]
mov esi, dword [esp + 0x168]
mov edi, dword [esp + 0x12c]
mov eax, dword [esp + 0x174]
jmp 0x4a4400
mov ebx, 0xf
mov ecx, 0x17
lea ebp, [esp + 0x9c]
mov dword [esp + 0x80], 0x5b9bb7
mov esi, dword [esp + 0x18c]
mov dword [esp + 0x2c], ecx
and esi, 0xffffff00
or esi, ebx
mov dword [esp + 0x18c], esi
movzx eax, bl
and esi, 0xffffff00
mov ecx, edi
mov edx, ebp
mov word [esp + 0x118], 4
mov dword [esp + 0x9c], 0x80000001
mov dword [esp + 0xa0], 0x100001
or esi, eax
xor eax, eax
cmp byte [edi + 0x31], 2
mov dword [esp], esi
sete al
push eax
call fcn.00456630
add esp, 4
mov byte [edi + 0x249], 1
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x80]
mov ebp, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x12c]
mov dword [esp + 0x170], eax
mov bl, 3
mov dword [esp + 0x190], edi
jmp 0x4a443b
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x54]
mov ebp, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x12c]
mov bl, 9
mov byte [esp + 0x3b], 0x15
jmp 0x4a444b
movzx eax, word [esp + 0x1fa]
mov ebx, dword [esp + 0x1fc]
mov esi, dword [esp + 0x200]
mov dword [esp + 0xc], edx
mov edx, ebp
mov word [esp + 0x118], 4
mov dword [esp + 0x9c], 0x80000001
mov dword [esp + 0xa0], 0x100001
mov ecx, edi
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x204]
mov ebp, ebx
mov dword [esp + 0x12c], eax
xor eax, eax
cmp byte [edi + 0x31], 2
sete al
push eax
call fcn.00456630
mov eax, dword [esp + 0x178]
add esp, 4
mov byte [edi + 0x249], 1
mov edi, dword [esp + 0x12c]
mov cl, 0xa
mov ebx, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x174], eax
movzx eax, ah
movzx ecx, bl
shl eax, 8
or ecx, eax
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x318]
call fcn.004a8b30
mov byte [esp + 0x145], bl
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
mov edx, edi
mov ecx, esi
mov dword [esp], ebp
mov dword [esp + 0x198], edi
mov edi, esi
mov esi, dword [esp]
mov byte [esp + 0x3b], al
mov eax, dword [esp + 0x60]
mov dword [esp + 0x12c], edx
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], ebp
mov eax, dword [eax]
test eax, eax
je 0x4a4473
push dword [esp + 0x54]
call eax
add esp, 4
mov eax, dword [esp + 0x60]
lea ebp, [esp + 0x9c]
cmp dword [eax + 4], 0
je 0x4a44a6
cmp dword [eax + 8], 9
jae 0x4a4490
mov eax, dword [esp + 0x54]
jmp 0x4a4497
mov eax, dword [esp + 0x54]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [esp + 0x3b]
mov byte [esp + 0x1e8], bl
mov ecx, dword [esp + 0x198]
lea edx, [esp + 0x1e8]
mov byte [esp + 0x1e9], al
mov eax, dword [esp + 0x170]
mov word [esp + 0x1ea], ax
mov dword [esp + 0x1ec], esi
mov dword [esp + 0x1f0], edi
mov dword [esp + 0x1f4], ecx
mov ecx, ebp
call fcn.004a62a0
mov eax, dword [esp + 0x138]
cmp byte [eax], 0x16
jne 0x4a453a
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 0x258]
mov esi, dword [eax + 0x254]
mov eax, dword [edi]
test eax, eax
je 0x4a451a
push esi
call eax
add esp, 4
cmp dword [edi + 4], 0
je 0x4a4543
cmp dword [edi + 8], 9
jb 0x4a4529
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4a4543
push eax
call fcn.004a6a20
add esp, 4
movsd xmm0, qword [esp + 0x9c]
mov eax, dword [esp + 0x138]
movsd xmm1, qword [esp + 0xa4]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov eax, dword [edi + 0x2cc]
mov esi, eax
sub esi, ecx
jbe 0x4a459e
cmp eax, dword [edi + 0x2c8]
ja 0x4a479d
mov eax, dword [edi + 0x2c4]
mov ecx, dword [esp + 0x34]
add ecx, eax
push esi
push ecx
push eax
call fcn.004ef180
add esp, 0xc
jmp 0x4a45a4
xor esi, esi
cmp eax, ecx
jne 0x4a45aa
mov dword [edi + 0x2cc], esi
movq xmm0, qword [esp + 0x1e8]
movq xmm1, qword [esp + 0x1f0]
mov dword [esp + 0x6c], 0
movq qword [esp + 0x1d0], xmm1
movq qword [esp + 0x1c8], xmm0
cmp byte [esp + 0x1c8], 0x16
je 0x4a3741
jmp 0x4a4696
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc], 1
and eax, 0xffffff00
or eax, 3
jmp 0x4a3bef
movzx ecx, byte [esp + 0x9f]
mov edx, dword [esp + 0x8c]
movzx edi, word [esp + 0x9d]
mov esi, dword [esp + 0xa0]
mov byte [edx + 7], cl
mov word [edx + 5], di
mov byte [edx + 4], al
mov dword [edx + 8], esi
jmp 0x4a4685
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1fc]
jmp 0x4a4678
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x13c]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax], 0
jmp 0x4a468b
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x8c]
mov dword [edx + 8], ecx
mov dword [edx + 4], eax
mov dword [edx], 1
add esp, 0x3f4
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x408]
mov edx, dword [esp + 0x1c0]
lea ecx, [esp + 0x1f8]
mov esi, dword [eax + 4]
mov edi, dword [eax]
push esi
push edi
call fcn.00457760
add esp, 8
push edi
push ebp
call dword [esi + 0x38]
add esp, 8
mov esi, dword [esp + 0x8c]
lea edx, [esp + 0x1c8]
lea ecx, [esi + 4]
call fcn.004a9530
cmp byte [esp + 0x9c], 3
mov dword [esi], 1
jne 0x4a472d
mov esi, dword [esp + 0xa0]
mov ebx, dword [esi + 4]
mov edi, dword [esi]
mov eax, dword [ebx]
test eax, eax
je 0x4a4700
push edi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x4a471e
cmp dword [ebx + 8], 9
jb 0x4a470f
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
push esi
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esp + 0x1f8], 3
jne 0x4a468b
mov esi, dword [esp + 0x1fc]
mov ebx, dword [esi + 4]
mov edi, dword [esi]
mov eax, dword [ebx]
test eax, eax
je 0x4a4753
push edi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x4a4771
cmp dword [ebx + 8], 9
jb 0x4a4762
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
push esi
push 0
push dword [0x6019d8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4a468b
mov eax, dword [esp + 0x8c]
mov word [eax + 4], 0x2501
mov dword [eax], 1
jmp 0x4a468b
ud2