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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x348
mov esi, dword [edx + 0x58]
call 0x4e67ef
pop eax
mov dword [esp + 0x44], eax
cmp esi, 1
mov dword [esp + 0x17c], esi
jne 0x4e9e87
mov ah, byte [edx + 0x30]
mov al, byte [edx + 0x38]
cmp ah, 3
je 0x4e6833
cmp ah, 2
je 0x4e6833
mov edi, dword [edx + 0x28]
lock inc dword [edi]
jle 0x4e9f13
mov ebx, dword [edx + 0x2c]
mov esi, edi
mov dword [esp + 0x154], esi
mov dword [esp + 0x224], ebx
mov dword [esp + 0x164], ecx
xor ecx, ecx
test al, al
mov edi, 2
mov byte [esp + 4], ah
setne cl
cmp al, 2
mov al, byte [edx + 0x39]
cmove ecx, edi
mov dword [esp + 0x174], ecx
xor ecx, ecx
test al, al
setne cl
cmp al, 2
mov al, byte [edx + 0x3a]
cmove ecx, edi
mov dword [esp + 0x1f0], ecx
xor ecx, ecx
test al, al
setne cl
cmp al, 2
mov al, byte [edx + 0x3b]
cmove ecx, edi
mov dword [esp + 0x160], ecx
xor ecx, ecx
test al, al
setne cl
cmp al, 2
mov al, byte [edx + 0x3c]
cmove ecx, edi
mov dword [esp + 0x1ec], ecx
xor ecx, ecx
test al, al
setne cl
cmp al, 2
mov al, byte [edx + 0x3d]
cmove ecx, edi
mov dword [esp + 0x15c], ecx
xor ecx, ecx
test al, al
setne cl
cmp al, 2
mov eax, dword [edx + 0x50]
cmove ecx, edi
mov dword [esp + 0x24c], ecx
mov esi, dword [eax + 8]
mov ebx, dword [eax]
mov eax, dword [edx + 8]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0xc]
mov ecx, esi
mov dword [esp + 0x88], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [edx]
mov dword [esp + 0x24], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x70], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x40]
mov dword [esp + 0x230], eax
mov al, byte [edx + 0x3e]
mov byte [esp + 0x22c], al
mov al, byte [edx + 0x34]
mov byte [esp + 8], al
mov al, byte [edx + 0x35]
mov byte [esp + 0x228], al
mov al, byte [edx + 0x44]
mov byte [esp + 0x248], al
mov al, byte [edx + 0x45]
mov byte [esp + 0x234], al
mov al, byte [edx + 0x46]
mov byte [esp + 0x238], al
mov al, byte [edx + 0x47]
mov byte [esp + 0x240], al
mov al, byte [edx + 0x48]
mov byte [esp + 0x23c], al
mov al, byte [edx + 0x49]
mov byte [esp + 0x244], al
mov al, byte [edx + 0x4a]
mov byte [esp + 0x49], al
mov al, byte [edx + 0x4b]
mov byte [esp + 0x4b], al
mov al, byte [edx + 0x4d]
mov byte [esp + 0x4a], al
call fcn.004f471c
mov dword [esp + 0x2a4], eax
add eax, 8
mov dword [esp + 0x80], edx
push esi
push ebx
mov dword [esp + 0x180], eax
push eax
call fcn.0064a810
add esp, 0xc
mov ecx, 0x2020202
xor eax, eax
mov dl, 3
mov word [esp + 0x311], 0x202
mov dword [esp + 0x30d], ecx
mov byte [esp + 0x30c], 1
mov byte [esp + 0x313], 0xa
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x2d4], edi
mov dword [esp + 0x2dc], edi
mov dword [esp + 0x2e4], edi
mov dword [esp + 0x2ec], edi
mov byte [esp + 0x2fc], dl
mov byte [esp + 0x300], 0
mov dword [esp + 0x306], ecx
mov dword [esp + 0x302], ecx
mov byte [esp + 0x30a], dl
mov dword [esp + 0x318], eax
mov al, byte [esp + 4]
mov ecx, dword [esp + 0x154]
mov edi, dword [esp + 0x224]
mov dword [esp + 0x314], 0xfa
cmp al, dl
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edi
mov byte [esp + 0xa0], al
jne 0x4e6a74
lea eax, [esp + 0x98]
push eax
call fcn.004eccc0
add esp, 4
mov al, 3
cmp dword [esp + 0x10], 2
jne 0x4e6a89
mov ecx, dword [esp + 0x2d8]
mov dword [esp + 0x88], ecx
cmp dword [esp + 0x40], 2
jne 0x4e6a9b
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x24], 0
jne 0x4e6aad
mov ecx, dword [esp + 0x2d0]
mov dword [esp + 0x70], ecx
cmp dword [esp + 0x20], 2
jne 0x4e6abf
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 0x3c], ecx
cmp dword [esp + 0xc], 2
mov byte [esp + 4], al
jne 0x4e6ad5
mov eax, dword [esp + 0x2f0]
mov dword [esp + 0x1c], eax
lea esi, [esp + 0x2f4]
cmp byte [esp + 8], 0
movzx eax, byte [esp + 0x228]
movzx ebx, byte [esi + 0xd]
cmovne ebx, eax
push esi
call fcn.004eccc0
add esp, 4
mov eax, dword [esp + 0x24]
cmp byte [esp + 0x4b], 0
mov edx, 4
mov dword [esp + 0x1f4], edx
mov dword [esp + 0x168], edx
mov dword [esi - 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [esi - 0x24], eax
mov eax, dword [esp + 0x10]
mov dword [esi - 0x20], eax
mov eax, dword [esp + 0x88]
mov dword [esi - 0x1c], eax
mov eax, dword [esp + 0x40]
mov dword [esi - 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [esi - 0x14], eax
mov eax, dword [esp + 0x20]
mov dword [esi - 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esi - 0xc], eax
mov eax, dword [esp + 0xc]
mov dword [esi - 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esi - 4], eax
mov eax, dword [esp + 0x154]
mov dword [esi], eax
mov al, byte [esp + 4]
mov dword [esi + 4], edi
lea edi, [esp + 0x17c]
mov dword [esp + 0x8c], edi
mov byte [esi + 8], al
mov al, byte [esp + 8]
mov byte [esi + 0xc], al
mov eax, dword [esp + 0x174]
mov byte [esi + 0xd], bl
mov word [esi + 0xe], 0x101
mov byte [esi + 0x10], al
mov eax, dword [esp + 0x1f0]
mov byte [esi + 0x11], al
mov eax, dword [esp + 0x160]
mov byte [esi + 0x12], al
mov eax, dword [esp + 0x1ec]
mov byte [esi + 0x13], al
mov eax, dword [esp + 0x15c]
mov byte [esi + 0x14], al
mov eax, dword [esp + 0x24c]
mov byte [esi + 0x15], al
mov al, byte [esp + 0x22c]
mov byte [esi + 0x16], al
mov al, byte [esp + 0x49]
mov byte [esi + 0x24], al
mov eax, dword [esp + 0x230]
mov dword [esi + 0x20], eax
mov al, byte [esp + 0x4a]
mov byte [esi + 0x25], al
setne al
xor ebx, ebx
add al, al
cmp byte [esp + 0x234], 1
mov dword [edi + 0x50], ebx
mov dword [esp + 0x1f8], ebx
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x1fc], ebx
mov dword [esp + 0x170], ebx
mov byte [esi + 0x1d], al
mov eax, 0
adc al, 1
cmp byte [esp + 0x238], 1
mov byte [esi + 0x19], al
mov eax, 0
adc al, 1
cmp byte [esp + 0x23c], 1
mov byte [esi + 0x1a], al
mov eax, 0
adc al, 1
cmp byte [esp + 0x240], 1
mov byte [esi + 0x1e], al
mov eax, 0
adc al, 1
cmp byte [esp + 0x244], 1
mov byte [esi + 0x1b], al
mov al, byte [esp + 0x248]
mov byte [esi + 0x1f], al
mov eax, 0
adc al, 1
xor ecx, ecx
mov byte [esi + 0x1c], al
mov byte [esi + 0x18], 1
inc ecx
mov eax, dword [esi + 0x20]
mov dword [edi + 0x54], ecx
mov dword [edi + 0x58], ecx
mov dword [edi + 0x5c], ebx
mov dword [edi + 0x60], eax
mov al, byte [esi + 0x25]
mov byte [edi + 0x65], al
mov al, byte [esi + 0x24]
mov esi, dword [esp + 0x178]
mov byte [edi + 0x66], al
mov byte [edi + 0x64], al
mov dword [edi], ebx
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], edx
mov dword [edi + 0x18], ebx
mov dword [edi + 0x1c], ebx
mov dword [edi + 0x20], ebx
mov dword [edi + 0x24], edx
mov dword [edi + 0x28], ebx
mov dword [edi + 0x2c], ebx
mov dword [edi + 0x30], ebx
mov dword [edi + 0x34], edx
mov dword [edi + 0x38], ebx
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x40], ebx
mov dword [edi + 0x44], ecx
mov dword [edi + 0x48], ebx
mov dword [edi + 0x4c], ebx
mov dword [edi + 0x50], ebx
mov dword [edi + 0x54], ecx
mov dword [edi + 0x58], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x90], esi
xor edx, edx
mov byte [edi + 0x64], al
mov dword [edi], 0xffffffff
mov dword [edi + 0xc], ebx
mov dword [esp + 0x94], ecx
mov ecx, 4
call fcn.0053b5c0
inc dword [edi]
cmp dword [edi + 0x10], ebx
jne 0x4e9eb0
mov dword [esp + 0x18c], 0xffffffff
mov edi, dword [esp + 0x198]
mov esi, dword [esp + 0x190]
mov dword [esp + 0x198], 0
test edi, edi
je 0x4e6d5b
mov ecx, esi
call fcn.0053b50c
add esi, 0x70
dec edi
jne 0x4e6d46
mov ebx, dword [esp + 0x18c]
inc ebx
mov dword [esp + 0x18c], ebx
cmp dword [esp + 0x19c], 0
jne 0x4e9eb7
lea ebx, [esp + 0x1cc]
lea eax, [esp + 0x98]
mov dword [ebx - 0x30], 0xffffffff
mov dword [esp + 0x70], eax
mov eax, 0
mov edi, dword [ebx - 0x24]
mov esi, dword [ebx - 0x2c]
mov dword [ebx - 0x24], 0
test edi, edi
je 0x4e6db7
mov ecx, esi
call fcn.0053b4ec
add esi, 0x98
dec edi
jne 0x4e6d9f
mov eax, dword [esp + 0x19c]
inc eax
mov dword [esp + 0x19c], eax
mov ecx, 4
lea edx, [esp + 0xb0]
lea esi, [esp + 0x58]
lea edi, [esp + 0x8c]
mov dword [esp + 8], 4
mov eax, dword [ebx + 8]
movsd xmm0, qword [ebx]
add dword [esp + 0x70], ecx
lea ecx, [esp + 0xa4]
movsd qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [ebx + 8]
movsd xmm0, qword [ebx]
movsd xmm1, qword [edx - 8]
mov dword [edx - 0x10], ecx
movsd qword [esi], xmm0
lea ecx, [esp + 0x60]
movsd qword [edx - 0x18], xmm0
movsd xmm2, qword [edx - 0x10]
movsd qword [esi + 0x10], xmm1
movsd qword [esi + 8], xmm2
mov esi, 0
mov dword [ecx - 0x14], 4
mov dword [ecx - 0x10], esi
mov dword [ecx - 0xc], esi
mov ecx, edi
call fcn.0053ba50
mov eax, dword [esp + 0x80]
cmp dword [esp + 0x1cc], eax
je 0x4e7613
mov ecx, edi
call fcn.0053bce6
cmp eax, 0x3e
jg 0x4e6ea2
add eax, 0xffffffd8
cmp eax, 3
ja 0x4e7290
mov eax, dword [eax*4 + 0x4ea054]
add eax, dword [esp + 0x44]
jmp eax
cmp eax, 0x7a
jg 0x4e70e4
cmp eax, 0x3f
je 0x4e7121
cmp eax, 0x5b
jne 0x4e7290
lea ecx, [esp + 0x98]
mov edx, edi
mov dword [esp + 0x40], esi
call fcn.0053d7fd
mov eax, dword [esp + 0x9c]
lea esi, [esp + 0xdc]
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0x98]
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0xa4]
movsd xmm0, qword [esi - 0x28]
movsd xmm1, qword [esi - 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xd8]
cmp ecx, 0x110009
mov dword [esp + 0x1c], edi
movsd qword [esp + 0x130], xmm0
movsd xmm0, qword [esi - 0x18]
movsd qword [esp + 0x138], xmm1
mov dword [esp + 0xc], eax
mov al, byte [esi - 5]
mov dword [esp + 0x3c], edx
movsd qword [esp + 0x140], xmm0
movsd xmm0, qword [esi - 0x10]
mov byte [esp + 0x2a], al
movzx eax, word [esi - 7]
movsd qword [esp + 0x148], xmm0
mov word [esp + 0x28], ax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x10], eax
mov al, byte [esp + 0xd4]
mov byte [esp + 0x20], al
je 0x4e8f6b
mov dword [esp + 0x88], ecx
mov dword [esp + 4], ebx
mov ecx, 0xc
lea edi, [esp + 0x250]
mov edx, 4
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x74
movsd xmm1, qword [esp + 0x138]
movzx eax, word [esp + 0x28]
movsd xmm0, qword [esp + 0x130]
movsd xmm2, qword [esp + 0x140]
movsd qword [esp + 0x2b0], xmm1
movsd xmm1, qword [esp + 0x148]
mov word [esp + 0x158], ax
mov al, byte [esp + 0x2a]
movsd qword [esp + 0x2a8], xmm0
movsd qword [esp + 0x2b8], xmm2
movsd qword [esp + 0x2c0], xmm1
mov byte [esp + 0x15a], al
mov al, byte [0x803894]
call fcn.004889b0
test eax, eax
je 0x4e9e78
mov ebx, eax
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x3c]
lea esi, [esp + 0x250]
mov edi, ebx
add edi, 0x44
mov dword [ebx], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 8], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x18], eax
mov al, byte [esp + 0x20]
movsd xmm0, qword [esp + 0x2a8]
movsd xmm1, qword [esp + 0x2b0]
movsd qword [ebx + 0x1c], xmm0
movsd qword [ebx + 0x24], xmm1
movsd xmm0, qword [esp + 0x2b8]
movsd qword [ebx + 0x2c], xmm0
movsd xmm0, qword [esp + 0x2c0]
movsd qword [ebx + 0x34], xmm0
mov byte [ebx + 0x3c], al
movzx eax, word [esp + 0x158]
mov word [ebx + 0x3d], ax
mov al, byte [esp + 0x15a]
mov byte [ebx + 0x3f], al
mov dword [ebx + 0x40], ecx
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x40]
cmp esi, dword [esp + 0x50]
jne 0x4e72f3
lea ecx, [esp + 0x4c]
mov edx, esi
call fcn.004d1a2e
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x54]
jmp 0x4e72f7
cmp eax, 0x7b
je 0x4e7150
cmp eax, 0x7c
jne 0x4e7290
lea eax, [esp + 0x130]
mov ecx, 9
lea esi, [esp + 0x4c]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x8c]
lea ecx, [esp + 0x98]
mov edx, edi
push eax
call fcn.0053d5dd
jmp 0x4e71a6
lea eax, [esp + 0x130]
mov ecx, 9
lea esi, [esp + 0x4c]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x8c]
mov dword [esp + 0x74], 3
lea ecx, [esp + 0x98]
jmp 0x4e71f3
lea eax, [esp + 0x130]
mov ecx, 9
lea esi, [esp + 0x4c]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x8c]
lea ecx, [esp + 0x98]
mov edx, edi
push eax
call fcn.0053dfd4
jmp 0x4e71a6
add esp, 4
jmp 0x4e7203
lea esi, [esp + 0x74]
mov edx, edi
push esi
push eax
call fcn.0053dca3
add esp, 8
mov ecx, dword [esp + 0xa0]
lea edx, [esp + 0xb0]
mov eax, dword [esp + 0x98]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0xa4]
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
mov edx, dword [esp + 0xac]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa8]
cmp eax, 0x22
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 0x30], xmm1
jne 0x4e7764
mov eax, dword [esp + 4]
movsd xmm0, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x30]
mov dword [esp + 0x4c], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0x5c], edx
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
jmp 0x4e6e33
mov ecx, edi
mov dword [esp + 0x40], esi
call fcn.0053bce6
mov esi, eax
cmp eax, 0x5b
jg 0x4e72c9
cmp esi, 0x24
je 0x4e7317
cmp esi, 0x2e
jne 0x4e7366
mov ecx, dword [esp + 0x70]
mov edx, edi
call fcn.0053c0b1
mov ecx, edi
call fcn.0053c16a
mov cl, 4
jmp 0x4e738c
cmp esi, 0x5c
je 0x4e7335
cmp esi, 0x5e
jne 0x4e7366
mov ecx, dword [esp + 0x70]
mov edx, edi
call fcn.0053c0b1
mov ecx, edi
call fcn.0053c16a
mov byte [esp + 0xb4], 0
jmp 0x4e7331
mov eax, dword [esp + 8]
lea edi, [esp + 0x8c]
mov dword [eax + esi*8], 7
mov dword [eax + esi*8 + 4], ebx
inc esi
mov dword [esp + 8], eax
mov dword [esp + 0x54], esi
jmp 0x4e6e33
mov ecx, dword [esp + 0x70]
mov edx, edi
call fcn.0053c0b1
mov ecx, edi
call fcn.0053c16a
mov byte [esp + 0xb4], 1
mov cl, 3
jmp 0x4e738c
lea ecx, [esp + 0x98]
mov edx, edi
call fcn.0053c2b0
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov dword [esp + 0xc], ecx
mov cl, byte [esp + 0xd0]
cmp eax, 0x22
je 0x4e7397
jmp 0x4e9ba9
lea ecx, [esp + 0xa0]
mov edx, edi
call fcn.0053c0b1
mov ecx, edi
call fcn.0053c16a
mov dword [esp + 0x9c], esi
mov byte [esp + 0xb8], 0
mov cl, 2
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa8]
lea edx, [esp + 0xdc]
mov ebx, dword [esp + 0xa0]
mov edi, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 4], eax
lea eax, [esp + 0xb0]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd xmm2, qword [eax + 0x10]
movsd qword [esp + 0x138], xmm1
movsd xmm1, qword [eax + 0x18]
movzx eax, word [edx - 0xb]
movsd qword [esp + 0x130], xmm0
movsd qword [esp + 0x140], xmm2
mov word [esp + 0x28], ax
mov al, byte [edx - 9]
mov edx, 4
movsd qword [esp + 0x148], xmm1
mov byte [esp + 0x2a], al
mov eax, ecx
add al, 0xfe
cmp al, 4
movzx eax, al
cmovae eax, edx
movzx eax, al
mov eax, dword [eax*4 + 0x4ea064]
add eax, dword [esp + 0x44]
jmp eax
lea eax, [esp + 0x130]
lea esi, [esp + 0x4c]
mov ecx, 9
lea edx, [esp + 0x8c]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x98]
mov ecx, esi
push eax
call fcn.0053bdc9
add esp, 4
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 8]
cmp eax, 0x22
jne 0x4e77e6
lea eax, [esp + 0x28]
lea esi, [esp + 0x98]
lea edx, [esp + 0x8c]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, esi
push eax
call fcn.0053e554
add esp, 4
mov eax, dword [esi]
cmp eax, 0x22
jne 0x4e787f
cmp dword [esp + 0x17c], 0
jne 0x4e9f31
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
lea edi, [esp + 0x4c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 0x180], 4
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x17c], eax
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov ecx, esi
call fcn.0053b5c0
cmp dword [esp + 0x24], 0
je 0x4e7704
push esi
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esp + 0x17c]
call fcn.004f766f
mov edx, dword [esp + 0x1fc]
cmp edx, dword [esp + 0x1f8]
jne 0x4e7731
lea esi, [esp + 0x1f4]
mov ecx, esi
call fcn.004d1a2e
mov edx, dword [esi + 8]
mov ecx, dword [esp + 0x1f4]
mov eax, dword [esp + 0xc]
mov dword [ecx + edx*8], eax
mov dword [ecx + edx*8 + 4], ebx
inc edx
mov dword [esp + 0x1fc], edx
jne 0x4e880f
mov esi, dword [esp + 0x168]
mov edi, dword [esp + 0x170]
jmp 0x4e9190
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x1c], edx
mov dh, byte [esp + 0xd0]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x10], esi
movsd xmm0, qword [ecx - 0x1c]
movsd xmm1, qword [ecx - 0x14]
movzx edi, word [ecx - 0xb]
mov dl, byte [ecx - 9]
mov ecx, dword [esp + 0xd4]
mov byte [esp + 0x20], dh
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
movsd xmm0, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x30]
mov word [esp + 0x14], di
mov byte [esp + 0x16], dl
mov dword [esp + 0x3c], ecx
movsd qword [esp + 0x110], xmm0
movsd qword [esp + 0x118], xmm1
jmp 0x4e792a
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa4]
lea esi, [esp + 0xb0]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0xdc]
mov edi, dword [esp + 0xac]
mov dh, byte [esp + 0xd0]
movsd xmm1, qword [esi + 8]
movsd xmm0, qword [esi]
movsd xmm2, qword [esi + 0x10]
mov dl, byte [ecx - 9]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x1c], edi
mov byte [esp + 0x20], dh
movsd qword [esp + 0x118], xmm1
movsd xmm1, qword [esi + 0x18]
movsd qword [esp + 0x110], xmm0
movsd qword [esp + 0x120], xmm2
mov byte [esp + 0x16], dl
mov dword [esp + 0x24], eax
movzx eax, word [ecx - 0xb]
mov ecx, dword [esp + 0xd4]
movsd qword [esp + 0x128], xmm1
mov word [esp + 0x14], ax
mov dword [esp + 0x3c], ecx
jmp 0x4e792a
mov esi, dword [esp + 0xa8]
lea ecx, [esp + 0xdc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x9c]
mov dl, byte [esp + 0xd0]
mov ebx, dword [esp + 0xa0]
movzx edi, word [ecx - 0xb]
mov dh, byte [ecx - 9]
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x24], esi
lea esi, [esp + 0xb0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa4]
mov byte [esp + 0x20], dl
movsd xmm1, qword [esi + 8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xd4]
movsd xmm0, qword [esi]
movsd xmm2, qword [esi + 0x10]
mov word [esp + 0x14], di
mov byte [esp + 0x16], dh
mov dword [esp + 0x10], eax
movsd qword [esp + 0x118], xmm1
movsd xmm1, qword [esi + 0x18]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x28]
movsd qword [esp + 0x110], xmm0
movsd qword [esp + 0x120], xmm2
movsd qword [esp + 0x128], xmm1
call fcn.0053a95c
movzx eax, word [esp + 0x14]
movsd xmm0, qword [esp + 0x128]
movsd xmm1, qword [esp + 0x120]
movsd xmm2, qword [esp + 0x110]
movsd xmm3, qword [esp + 0x118]
mov dword [esp + 4], ebx
mov word [esp + 0x1e4], ax
mov al, byte [esp + 0x16]
movsd qword [esp + 0x218], xmm0
movsd qword [esp + 0x210], xmm1
movsd qword [esp + 0x208], xmm3
movsd qword [esp + 0x200], xmm2
movsd qword [esp + 0x280], xmm2
movsd qword [esp + 0x288], xmm3
movsd qword [esp + 0x290], xmm1
movsd qword [esp + 0x298], xmm0
movzx ecx, word [esp + 0x1e4]
mov byte [esp + 0x1e6], al
mov al, byte [esp + 0x1e6]
mov word [esp + 0x84], cx
lea ecx, [esp + 0x17c]
mov byte [esp + 0x86], al
call fcn.004f766f
mov esi, dword [esp + 0x168]
mov edx, dword [esp + 0x170]
mov ecx, esi
call fcn.00537d9e
cmp dword [esp + 0x16c], 0
je 0x4e7a0a
push esi
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esp + 0x1fc]
mov edi, dword [esp + 0x1f4]
test ebx, ebx
je 0x4e7a2b
mov esi, edi
mov ecx, esi
call fcn.0053a95c
add esi, 8
dec ebx
jne 0x4e7a1e
cmp dword [esp + 0x1f8], 0
je 0x4e7a44
push edi
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x2a4]
mov eax, dword [esp + 0x80]
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movsd xmm1, qword [esp + 0x290]
movzx eax, word [esp + 0x84]
movsd xmm0, qword [esp + 0x298]
movsd xmm2, qword [esp + 0x280]
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0x288]
mov word [esp + 0x168], ax
mov al, byte [esp + 0x86]
movsd qword [esp + 0x148], xmm0
movsd qword [esp + 0x130], xmm2
movsd qword [esp + 0x138], xmm1
mov byte [esp + 0x16a], al
lock dec dword [ecx]
jne 0x4e7adb
lea ecx, [esp + 0x98]
call fcn.004ed777
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], edi
mov edx, dword [esp + 0x10]
movsd xmm1, qword [esp + 0x138]
movsd xmm0, qword [esp + 0x130]
movsd xmm2, qword [esp + 0x140]
test ebx, ebx
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x164]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xb4], eax
movsd qword [esp + 0xc0], xmm1
movsd xmm1, qword [esp + 0x148]
mov al, byte [esp + 0x20]
movsd qword [esp + 0xb8], xmm0
movsd qword [esp + 0xc8], xmm2
movsd qword [esp + 0xd0], xmm1
mov byte [esp + 0xd8], al
movzx eax, word [esp + 0x168]
mov word [esp + 0xd9], ax
mov al, byte [esp + 0x16a]
mov byte [esp + 0xdb], al
mov dword [esp + 0xdc], edi
lea edi, [ebx + 4]
je 0x4e7bcd
cmp ecx, 0x27
jne 0x4e7c54
mov dword [ebx + 8], esi
mov dword [ebx + 4], 0
jmp 0x4e8790
xor eax, eax
mov dword [esp + 0x74], 1
cmp ecx, 0x22
mov dword [esp + 0x80], edi
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
lea eax, [esp + 0xc8]
jne 0x4e7ccc
lea ebx, [esp + 0x2b0]
lea ecx, [esp + 0xb0]
mov dword [ebx - 8], esi
mov dword [ebx - 4], edx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
lea ecx, [esp + 0x250]
lea edx, [esp + 0x2a8]
mov dword [ebx + 8], 0
call fcn.0054d471
mov eax, dword [esp + 0x10]
lea ebx, [esp + 0x4c]
cmp eax, 7
ja 0x4e7d50
test eax, eax
je 0x4e8127
cmp byte [esi], 0xa
je 0x4e7d69
inc esi
dec eax
jne 0x4e7c42
jmp 0x4e8127
xor edx, edx
lea esi, [esp + 0x17c]
lea ecx, [esp + 0x250]
xor eax, eax
mov dword [esp + str.error_building_NFA], 0x767f94
inc edx
mov dword [ecx], edx
mov dword [esp + 0x180], edx
mov dword [ecx + 4], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x184], 0x7f59e0
mov dword [ecx + 8], eax
mov dword [esp + 0x188], eax
mov edx, 0x766c90
push esi
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9f17
mov eax, dword [esp + 0x258]
movsd xmm0, qword [esp + 0x250]
mov dword [edi + 8], eax
movsd qword [edi], xmm0
jmp 0x4e8790
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp ecx, 0x11
je 0x4e7cf7
cmp ecx, 0xe
mov edx, ecx
lea ecx, [esp + 0xa4]
je 0x4e7cfe
cmp edx, 0xd
mov ecx, 0
jne 0x4e7cfe
lea ecx, [esp + 0xa4]
lea ebx, [esp + 0x2b0]
lea edx, [esp + 0xa0]
mov dword [ebx - 8], esi
mov dword [ebx - 4], edi
mov dword [ebx], edx
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
lea ecx, [esp + 0x250]
lea edx, [esp + 0x2a8]
call fcn.0054d471
cmp edi, 7
ja 0x4e81ff
test edi, edi
je 0x4e8630
cmp byte [esi], 0xa
je 0x4e8218
inc esi
dec edi
jne 0x4e7d3e
jmp 0x4e8630
mov ecx, 0xa
mov edx, esi
push eax
call fcn.004aaa80
add esp, 4
cmp eax, 1
jne 0x4e8127
xor edi, edi
lea ebx, [esp + 0x17c]
xor esi, esi
mov edx, 0x7e
inc edi
mov ecx, ebx
mov dword [ebx], edi
mov dword [ebx + 4], esi
mov dword [ebx + 8], esi
push 0x4f
call fcn.0053ba06
add esp, 4
movsd xmm0, qword [ebx]
mov eax, dword [ebx + 8]
mov dword [ebx], 0x76d270
mov dword [ebx + 4], edi
mov dword [ebx + 0x10], esi
mov dword [ebx + 8], 0x7f59e0
mov dword [ebx + 0xc], esi
lea ecx, [esp + 0x74]
mov edx, 0x766c90
mov dword [esp + 0x30], eax
movsd qword [esp + 0x28], xmm0
push ebx
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9f97
lea edi, [esp + 0x28]
lea eax, [esp + 0x4c]
mov dword [esp + 0x17c], 0x76d2ec
mov dword [esp + 0x180], 2
mov dword [esp + 0x18c], 0
lea ecx, [esp + 0x74]
mov edx, 0x766c90
mov dword [esp + 0x4c], edi
mov dword [esp + 0x184], eax
mov dword [esp + 0x50], 0x4761f0
mov dword [esp + 0x188], 1
push ebx
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9f97
lea esi, [esp + 0x280]
lea edx, [esp + 0x250]
mov ecx, esi
call fcn.0054cda7
xor eax, eax
mov dword [esp + 0x4c], esi
lea esi, [esp + 0x17c]
lea ebx, [esp + 0x4c]
mov dword [esp + 0x50], 0x4761f0
mov dword [esp + 0x17c], 0x7f5ec4
lea ecx, [esp + 0x74]
mov edx, 0x766c90
inc eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x18c], 0
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], eax
push esi
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9f78
mov dword [esp + 0x4c], edi
mov dword [esp + 0x17c], 0x76d2ec
mov dword [esp + 0x180], 2
mov dword [esp + 0x18c], 0
mov dword [esp + 0x184], ebx
mov dword [esp + 0x50], 0x4761f0
mov dword [esp + 0x188], 1
lea ecx, [esp + 0x74]
mov edx, 0x766c90
push esi
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9f78
mov eax, dword [esp + 0x26c]
test eax, eax
je 0x4e80d7
mov ebx, dword [esp + 0x264]
shl eax, 3
lea ecx, [esp + 0x200]
xor edi, edi
mov edx, 4
lea esi, [eax + eax*2]
mov dword [ecx], 4
mov dword [ecx + 4], edi
mov dword [ecx + 8], edi
add ebx, 0x10
mov eax, dword [ebx + 4]
mov dword [esp + 4], edx
mov ecx, fcn.004a3a90
lea edx, [esp + 0x8c]
mov dword [esp + 0x4c], 0x76d31c
mov dword [esp + 0x50], 5
mov dword [esp + 0x5c], 0
dec eax
mov dword [esp + 0x8c], eax
lea eax, [ebx - 0xc]
mov dword [esp + 0x17c], eax
lea eax, [ebx - 8]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], ecx
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x4c]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x110]
mov dword [esp + 0x58], 4
call fcn.00499020
cmp edi, dword [esp + 0x204]
jne 0x4e7ff1
lea ecx, [esp + 0x200]
mov edx, edi
call fcn.00599f00
mov edx, dword [esp + 0x200]
mov edi, dword [esp + 0x208]
jmp 0x4e7ff5
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x118]
lea eax, [edi + edi*2]
inc edi
add ebx, 0x18
add esi, 0xffffffe8
mov dword [edx + eax*4 + 8], ecx
movsd xmm0, qword [esp + 0x110]
movsd qword [edx + eax*4], xmm0
mov dword [esp + 0x208], edi
jne 0x4e7f36
mov edx, dword [esp + 0x200]
xor esi, esi
lea ebx, [esp + 0x4c]
mov ecx, ebx
inc esi
push esi
push 0x7f56be
push edi
call fcn.0053a31a
add esp, 0xc
lea eax, [esp + 0x8c]
mov dword [esp + 0x17c], 0x76d2ec
mov dword [esp + 0x180], 2
mov dword [esp + 0x18c], 0
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], 0x4761f0
mov edx, 0x766c90
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], esi
lea esi, [esp + 0x17c]
push esi
call fcn.004a43d0
add esp, 4
mov ecx, dword [esp + 0x50]
test al, al
jne 0x4e9f56
test ecx, ecx
lea ebx, [esp + 0x4c]
je 0x4e80cb
push dword [esp + 0x4c]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esp + 0x200]
call fcn.0054d218
lea eax, [esp + 0x2b0]
lea ecx, [esp + 0x74]
mov edx, 0x766c90
mov dword [esp + str.error:], 0x76d280
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x50], 0x539928
inc eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x18c], 0
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], eax
push esi
jmp 0x4e85d1
xor eax, eax
mov dword [esp + 0x17c], 0x76d270
mov dword [esp + 0x180], 1
lea ecx, [esp + 0x74]
mov edx, 0x766c90
mov dword [esp + 0x18c], eax
mov dword [esp + 0x184], 0x7f59e0
mov dword [esp + 0x188], eax
lea eax, [esp + 0x17c]
push eax
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9fb0
lea esi, [esp + 0x17c]
lea edx, [esp + 0x2a8]
mov ecx, esi
call fcn.0054d471
mov ecx, ebx
mov edx, esi
call fcn.0054cda7
mov ecx, esi
call fcn.0054d1b4
lea edi, [esp + 0x200]
mov dword [esi], 0x7f5ec4
lea ecx, [esp + 0x74]
mov edx, 0x766c90
mov dword [edi], ebx
xor ebx, ebx
mov dword [edi + 4], 0x4761f0
inc ebx
mov dword [esi + 4], ebx
mov dword [esi + 0x10], 0
mov dword [esi + 8], edi
mov dword [esi + 0xc], ebx
push esi
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9ed2
lea eax, [esp + 0x2b0]
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], 0x539928
jmp 0x4e8707
mov ecx, 0xa
mov edx, esi
push edi
call fcn.004aaa80
add esp, 4
cmp eax, 1
jne 0x4e8630
xor edi, edi
lea ebx, [esp + 0x17c]
xor esi, esi
mov edx, 0x7e
inc edi
mov ecx, ebx
mov dword [ebx], edi
mov dword [ebx + 4], esi
mov dword [ebx + 8], esi
push 0x4f
call fcn.0053ba06
add esp, 4
movsd xmm0, qword [ebx]
mov eax, dword [ebx + 8]
mov dword [ebx], 0x76d270
mov dword [ebx + 4], edi
mov dword [ebx + 0x10], esi
mov dword [ebx + 8], 0x7f59e0
mov dword [ebx + 0xc], esi
lea ecx, [esp + 0x74]
mov edx, 0x766c90
mov dword [esp + 0x30], eax
movsd qword [esp + 0x28], xmm0
push ebx
call fcn.004a43d0
add esp, 4
test al, al
lea edi, [esp + 0x4c]
jne 0x4e9f97
lea eax, [esp + 0x28]
mov dword [esp + 0x17c], 0x76d2ec
mov dword [esp + 0x180], 2
mov dword [esp + 0x18c], 0
mov dword [esp + 0x184], edi
mov dword [esp + 0x188], 1
lea ecx, [esp + 0x74]
mov edx, 0x766c90
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 0x4761f0
push ebx
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9f97
lea esi, [esp + 0x280]
lea edx, [esp + 0x250]
mov ecx, esi
call fcn.0054cda7
xor eax, eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], 0x4761f0
mov dword [esp + 0x17c], 0x7f5ec4
lea ecx, [esp + 0x74]
mov edx, 0x766c90
inc eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x18c], 0
mov dword [esp + 0x184], edi
mov dword [esp + 0x188], eax
push ebx
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9f78
lea eax, [esp + 0x28]
mov dword [esp + 0x17c], 0x76d2ec
mov dword [esp + 0x180], 2
mov dword [esp + 0x18c], 0
mov dword [esp + 0x184], edi
mov dword [esp + 0x188], 1
lea ecx, [esp + 0x74]
mov edx, 0x766c90
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 0x4761f0
push ebx
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9f78
mov eax, dword [esp + 0x26c]
test eax, eax
je 0x4e8586
mov ebx, dword [esp + 0x264]
shl eax, 3
lea ecx, [esp + 0x200]
xor edi, edi
mov edx, 4
lea esi, [eax + eax*2]
mov dword [ecx], 4
mov dword [ecx + 4], edi
mov dword [ecx + 8], edi
add ebx, 0x10
mov eax, dword [ebx + 4]
mov dword [esp + 4], edx
mov ecx, fcn.004a3a90
lea edx, [esp + 0x8c]
mov dword [esp + 0x4c], 0x76d31c
mov dword [esp + 0x50], 5
mov dword [esp + 0x5c], 0
dec eax
mov dword [esp + 0x8c], eax
lea eax, [ebx - 0xc]
mov dword [esp + 0x17c], eax
lea eax, [ebx - 8]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], ecx
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x4c]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x110]
mov dword [esp + 0x58], 4
call fcn.00499020
cmp edi, dword [esp + 0x204]
jne 0x4e8499
lea ecx, [esp + 0x200]
mov edx, edi
call fcn.00599f00
mov edx, dword [esp + 0x200]
mov edi, dword [esp + 0x208]
jmp 0x4e849d
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x118]
lea eax, [edi + edi*2]
inc edi
add ebx, 0x18
add esi, 0xffffffe8
mov dword [edx + eax*4 + 8], ecx
movsd xmm0, qword [esp + 0x110]
movsd qword [edx + eax*4], xmm0
mov dword [esp + 0x208], edi
jne 0x4e83de
mov edx, dword [esp + 0x200]
xor esi, esi
lea ebx, [esp + 0x4c]
mov ecx, ebx
inc esi
push esi
push 0x7f56be
push edi
call fcn.0053a31a
add esp, 0xc
lea eax, [esp + 0x8c]
mov dword [esp + 0x17c], 0x76d2ec
mov dword [esp + 0x180], 2
mov dword [esp + 0x18c], 0
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], 0x4761f0
mov edx, 0x766c90
mov dword [esp + 0x184], eax
lea eax, [esp + 0x17c]
mov dword [esp + 0x188], esi
push eax
call fcn.004a43d0
add esp, 4
mov ecx, dword [esp + 0x50]
test al, al
jne 0x4e9f56
test ecx, ecx
lea edi, [esp + 0x4c]
je 0x4e8573
push dword [esp + 0x4c]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esp + 0x200]
call fcn.0054d218
lea ebx, [esp + 0x17c]
lea eax, [esp + 0x2b0]
lea ecx, [esp + 0x74]
mov edx, 0x766c90
mov dword [esp + str.error:], 0x76d280
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x50], 0x539680
inc eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x18c], 0
mov dword [esp + 0x184], edi
mov dword [esp + 0x188], eax
push ebx
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9f78
cmp dword [esp + 0x284], 0
je 0x4e8600
push dword [esp + 0x280]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x164]
je 0x4e8773
push dword [esp + 0x28]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4e8773
xor eax, eax
mov dword [esp + 0x17c], 0x76d270
mov dword [esp + 0x180], 1
lea ecx, [esp + 0x74]
mov edx, 0x766c90
mov dword [esp + 0x18c], eax
mov dword [esp + 0x184], 0x7f59e0
mov dword [esp + 0x188], eax
lea eax, [esp + 0x17c]
push eax
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9fb0
lea esi, [esp + 0x17c]
lea edx, [esp + 0x2a8]
mov ecx, esi
call fcn.0054d471
lea ebx, [esp + 0x4c]
mov edx, esi
mov ecx, ebx
call fcn.0054cda7
mov ecx, esi
call fcn.0054d1b4
lea edi, [esp + 0x200]
mov dword [esi], 0x7f5ec4
lea ecx, [esp + 0x74]
mov edx, 0x766c90
mov dword [edi], ebx
xor ebx, ebx
mov dword [edi + 4], 0x4761f0
inc ebx
mov dword [esi + 4], ebx
mov dword [esi + 0x10], 0
mov dword [esi + 8], edi
mov dword [esi + 0xc], ebx
push esi
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9ed2
lea eax, [esp + 0x2b0]
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], 0x539680
mov dword [esp + str.error:], 0x76d280
mov dword [esp + 0x180], ebx
mov dword [esp + 0x18c], 0
mov dword [esp + 0x184], edi
mov dword [esp + 0x188], ebx
lea ecx, [esp + 0x74]
mov edx, 0x766c90
push esi
call fcn.004a43d0
add esp, 4
test al, al
jne 0x4e9ed2
cmp dword [esp + 0x50], 0
je 0x4e8765
push dword [esp + 0x4c]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x164]
lea ecx, [esp + 0x250]
call fcn.0054d1b4
mov eax, dword [esp + 0x7c]
movsd xmm0, qword [esp + 0x74]
mov dword [esi + 8], eax
movsd qword [esi], xmm0
cmp dword [esp + 0x98], 0
mov eax, dword [esp + 0xa0]
je 0x4e87b8
lea edx, [eax - 0x23]
xor ecx, ecx
lea esi, [eax - 0x22]
cmp edx, 7
cmovb ecx, esi
cmp ecx, 1
je 0x4e87fc
test ecx, ecx
jne 0x4e87e2
cmp eax, 0x22
lea ecx, [esp + 0xbc]
lea edx, [esp + 0xa4]
cmove ecx, edx
cmp dword [ecx + 4], 0
je 0x4e87e2
push dword [ecx]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [ebx], 0
lea ecx, [esp + 0x2cc]
call fcn.004ea0b0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esp + 0xa8], 4
lea ecx, [esp + 0xb0]
jae 0x4e87cc
jmp 0x4e87e2
mov ebx, ecx
lea ecx, [esp + 0x30d]
mov edx, 4
lea esi, [esp + 0x13c]
movzx eax, word [ecx + 4]
mov dword [esp + 8], ebx
xor ebx, ebx
mov dword [esi - 0xc], edx
mov dword [esi - 8], ebx
mov dword [esi], edx
mov dword [esi - 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 4], ebx
mov word [esp + 0x60], ax
mov eax, dword [ecx]
mov cl, byte [esp + 0x313]
mov dword [esp + 0x5c], eax
mov al, byte [esp + 0x30c]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 8]
mov byte [esp + 0x63], al
mov byte [esp + 0x62], cl
lea ecx, [esp + 0x28]
mov dword [ecx], edi
mov edi, dword [esp + 0x178]
mov dword [ecx + 4], edi
lea edi, [esp + 0x98]
mov dword [ecx + 8], edx
mov eax, dword [ebx]
add eax, 0xfffffff9
cmp eax, 4
ja 0x4e8a1f
mov eax, dword [eax*4 + 0x4ea078]
add eax, dword [esp + 0x44]
jmp eax
mov eax, dword [ebx]
add eax, 0xfffffff9
cmp eax, 4
ja 0x4e8e69
mov eax, dword [eax*4 + 0x4ea08c]
mov dword [esp + 8], ebx
add eax, dword [esp + 0x44]
jmp eax
mov dword [esp + 0x138], edx
mov ebx, ecx
jmp 0x4e8895
mov ecx, edi
lea edx, [esp + 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.0054401c
add esp, 8
mov al, byte [esp + 0xbc]
cmp al, 7
jne 0x4e8ff3
mov edx, dword [esp + 0x138]
test edx, edx
je 0x4e9031
mov eax, dword [esp + 0x130]
lea ecx, [edx + edx*4]
lea ecx, [eax + ecx*4 - 0x14]
mov edi, dword [ecx + 4]
cmp edi, 4
je 0x4e8fe2
mov esi, dword [ecx]
lea eax, [edx - 1]
cmp edi, 2
mov dword [esp + 4], ecx
jb 0x4e8ed8
mov ebx, dword [esp + 4]
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x10]
jne 0x4e8ed4
test ebx, ebx
je 0x4e8ed8
jmp 0x4e8f47
test ebx, ebx
jne 0x4e8f15
lea edi, [esp + 0x98]
mov ebx, eax
lea edx, [esp + 0x28]
mov ecx, edi
push dword [esi + 4]
push dword [esi]
call fcn.0054401c
add esp, 8
mov al, byte [esp + 0xbc]
cmp al, 7
jne 0x4e8fec
mov ecx, dword [esp + 4]
mov edx, ebx
add ecx, 0xffffffec
test ebx, ebx
jne 0x4e8ea8
jmp 0x4e9028
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], edx
lea edx, [esp + 0x98]
mov dword [esp + 0x138], eax
mov dword [esp + 0x98], 0xf
call fcn.0054586c
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, ebx
mov ebx, dword [esp + 4]
dec eax
mov dword [ebx], esi
mov dword [ebx + 4], edi
lea edi, [ecx + 8]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
lea edi, [esp + 0x98]
jmp 0x4e8e48
movsd xmm1, qword [esp + 0x138]
movzx eax, word [esp + 0x28]
movsd xmm0, qword [esp + 0x130]
movsd xmm2, qword [esp + 0x140]
lea ecx, [esp + 0x4c]
movsd qword [esp + 0x118], xmm1
movsd xmm1, qword [esp + 0x148]
mov word [esp + 0x14], ax
mov al, byte [esp + 0x2a]
movsd qword [esp + 0x110], xmm0
movsd qword [esp + 0x120], xmm2
movsd qword [esp + 0x128], xmm1
mov byte [esp + 0x16], al
call fcn.0053b532
cmp dword [esp + 0x18], 0x22
lea edi, [esp + 0x4c]
je 0x4e76df
jmp 0x4e792a
dec edx
lea edi, [esp + 0x98]
jmp 0x4e902a
mov dword [esp + 0x138], ebx
lea edi, [esp + 0x17c]
lea esi, [esp + 0x98]
mov ecx, 9
lea edx, [esp + 0x18c]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xbd]
mov cl, byte [esi + 2]
movzx esi, word [esi]
mov byte [edx + 0x17], cl
mov word [edx + 0x15], si
jmp 0x4e9d9f
xor edx, edx
mov dword [esp + 0x138], edx
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0x7fffffff
jae 0x4ea008
inc eax
mov dword [edx], eax
mov eax, dword [edx + 0xc]
cmp eax, 1
mov dword [esp + 0x250], eax
jne 0x4ea014
dec dword [edx]
lea esi, [esp + 0x98]
mov ecx, esi
call fcn.005458d8
cmp dword [esi], 0x10
je 0x4ea03b
mov eax, dword [esp + 0xb0]
movsd xmm0, qword [esp + 0xa8]
movsd xmm2, qword [esp + 0x98]
movsd xmm1, qword [esp + 0xa0]
lea esi, [esp + 0x17c]
lea edx, [esp + 0x250]
mov ecx, esi
mov dword [edx + 0x18], eax
movsd qword [edx + 0x10], xmm0
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm2
call fcn.00545942
lea ecx, [esp + 0x130]
call fcn.00431c49
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov edi, dword [esp + 0x58]
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [esp + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 8], edx
mov edx, dword [esi + 0x14]
test edi, edi
mov dword [esp + 0x44], eax
mov dword [esp + 0xc], ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x40], edx
mov dword [esp + 0x20], ecx
je 0x4e910a
mov esi, dword [esp + 0x50]
mov ecx, esi
call fcn.0053b56c
add esi, 0x1c
dec edi
jne 0x4e90fd
cmp dword [esp + 0x54], 0
je 0x4e9123
push dword [esp + 0x50]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x170]
cmp edi, dword [esp + 0x16c]
jne 0x4e9146
lea esi, [esp + 0x168]
mov edx, edi
mov ecx, esi
call fcn.005380a0
mov edi, dword [esi + 8]
mov esi, dword [esp + 0x168]
mov ecx, dword [esp + 0x44]
lea eax, [edi + edi*8]
mov edx, dword [esp + 8]
lea eax, [eax + eax*2]
add eax, edi
inc edi
mov dword [esi + eax], ecx
mov dword [esi + eax + 4], ebx
mov ebx, dword [esp + 4]
mov dword [esi + eax + 8], ebx
mov dword [esi + eax + 0xc], edx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x40]
mov dword [esi + eax + 0x10], edx
mov edx, dword [esp + 0x20]
mov dword [esi + eax + 0x14], ebx
mov dword [esi + eax + 0x18], edx
mov dword [esp + 0x170], edi
mov ah, byte [esp + 0x2fc]
mov cl, byte [esp + 0x302]
mov dl, byte [esp + 0x303]
mov al, byte [esp + 0x304]
cmp ah, 3
je 0x4e91db
cmp ah, 2
je 0x4e91db
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 0x320], ebx
lock inc dword [ebx]
jle 0x4e9f13
mov ebx, dword [esp + 0x2f8]
mov dword [esp + 0x31c], ebx
xor ebx, ebx
test al, al
mov byte [esp + 0x24c], ah
mov dword [esp + 0x15c], edi
setne bl
cmp al, 2
mov eax, 2
cmove ebx, eax
mov dword [esp + 0x248], ebx
xor ebx, ebx
test dl, dl
setne bl
cmp dl, 2
cmove ebx, eax
xor edx, edx
test cl, cl
setne dl
cmp cl, 2
mov cl, byte [esp + 0x305]
mov dword [esp + 0x244], ebx
mov ebx, dword [esp + 0x2f0]
cmove edx, eax
mov dword [esp + 0x240], edx
xor edx, edx
test cl, cl
mov dword [esp + 0x228], ebx
setne dl
cmp cl, 2
mov cl, byte [esp + 0x306]
cmove edx, eax
mov dword [esp + 0x23c], edx
xor edx, edx
test cl, cl
setne dl
cmp cl, 2
mov cl, byte [esp + 0x307]
cmove edx, eax
mov dword [esp + 0x238], edx
xor edx, edx
test cl, cl
setne dl
cmp cl, 2
mov cl, byte [esp + 0x308]
cmove edx, eax
mov dword [esp + 0x234], edx
xor edx, edx
test cl, cl
setne dl
cmp cl, 2
mov cl, byte [esp + 0x309]
cmove edx, eax
mov dword [esp + 0x230], edx
xor edx, edx
test cl, cl
setne dl
cmp cl, 2
mov cl, byte [esp + 0x30a]
cmove edx, eax
mov eax, dword [esp + 0x2d4]
test edi, edi
mov dword [esp + 0x22c], edx
mov dl, byte [esp + 0x300]
mov byte [esp + 0x4b], cl
mov cl, byte [esp + 0x301]
mov dword [esp + 0x32c], eax
mov eax, dword [esp + 0x2d8]
mov byte [esp + 0x49], dl
mov byte [esp + 0x4a], cl
mov dword [esp + 0x330], eax
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x334], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0x224], eax
je 0x4e9543
mov al, byte [0x803894]
lea ebx, [edi*4]
mov edx, 4
mov ecx, ebx
call fcn.004889b0
test eax, eax
je 0x4e9fe2
mov edx, eax
mov ecx, edi
mov dword [esp + 0x154], ebx
mov dword [edx], esi
add esi, 0x1c
add edx, 4
dec ecx
jne 0x4e9390
xor ebx, ebx
test edi, edi
mov dword [esp + 0x98], 4
mov dword [esp + 0x160], eax
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
je 0x4e9576
mov ecx, 4
mov edi, eax
mov eax, dword [edi]
mov dword [esp + 0x70], ecx
mov dword [esp + 4], eax
call fcn.00489af6
mov esi, eax
mov eax, dword [esp + 4]
cmp ebx, dword [esp + 0x9c]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax]
mov dword [esp + 4], ecx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 4]
mov dword [esp + 8], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x44], ecx
mov cl, byte [eax + 0x32]
mov byte [esp + 0xc], cl
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x88], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x20], ecx
movzx ecx, word [eax + 0x30]
mov word [esp + 0x40], cx
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esi], edx
mov edx, dword [esp + 8]
mov dword [esi + 4], edx
mov edx, dword [esp + 0x44]
mov dword [esi + 8], edx
mov edx, dword [esp + 0x88]
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x1c]
movzx edx, word [esp + 0x40]
mov cl, byte [esp + 0xc]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x2c], eax
mov word [esi + 0x30], dx
mov byte [esi + 0x32], cl
jne 0x4e94c7
lea ecx, [esp + 0x98]
mov edx, ebx
call fcn.00606f32
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0xa0]
jmp 0x4e94cb
mov ecx, dword [esp + 0x70]
mov dword [ecx + ebx*4], esi
add edi, 4
mov ebx, dword [esp + 0xa0]
inc ebx
add dword [esp + 0x154], 0xfffffffc
mov dword [esp + 0xa0], ebx
jne 0x4e93cc
mov ecx, dword [esp + 0x98]
test ebx, ebx
sete byte [esp + 0x178]
lea eax, [ecx + ebx*4]
mov dword [esp + 0x154], eax
je 0x4e9b90
lea eax, [ecx + 4]
mov dword [esp + 0x174], ecx
xor edi, edi
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
dec edi
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1e8], ecx
jmp 0x4e95ad
xor eax, eax
mov dword [esp + 0x98], 4
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x160], 4
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
jmp 0x4e957d
mov dword [esp + 0x1e8], edi
xor edi, edi
mov dword [esp + 0x154], 4
mov byte [esp + 0x178], 1
mov dword [esp + 0x18], 4
mov dword [esp + 0x174], 0
mov dword [esp + 0x1c], 0
mov al, 1
xor esi, esi
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 8], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 4], eax
mov al, 1
mov dword [esp + 0xc], eax
xor eax, eax
mov edx, ecx
mov dword [esp + 0x1ec], ebx
mov ebx, dword [esp + 0x10]
mov ecx, edx
mov dword [esp + 0x88], ecx
test al, 1
je 0x4e9627
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x154]
je 0x4e9786
mov ecx, dword [esp + 0x18]
mov eax, ecx
add ecx, 4
mov dword [esp + 0x18], ecx
jmp 0x4e963c
cmp byte [esp + 0x178], 0
mov eax, dword [esp + 0x174]
jne 0x4e9786
mov ecx, dword [eax]
test byte [esp + 0xc], 1
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], edi
je 0x4e965a
cmp byte [ecx + 0x30], 0
setne al
mov dword [esp + 0xc], eax
jmp 0x4e9662
mov dword [esp + 0xc], 0
mov edx, dword [esp + 8]
mov eax, 0xffffffff
add edx, dword [ecx + 0x2c]
jb 0x4e9672
mov eax, edx
mov edx, dword [ecx + 0x10]
mov esi, dword [esp + 0x1c]
mov dword [esp + 8], eax
mov eax, edx
or eax, esi
sete al
test esi, esi
je 0x4e9699
test edx, edx
je 0x4e9699
mov eax, dword [esp + 0x1f0]
cmp eax, dword [ecx + 0x14]
sete al
mov edi, dword [esp + 0x24]
test al, al
jne 0x4e96a9
mov dword [esp + 0x1c], 0
test byte [esp + 4], 1
mov esi, dword [esp + 0x10]
mov eax, 0
je 0x4e96c0
cmp byte [ecx + 0x31], 0
setne al
test byte [esp + 0x3c], 1
mov dword [esp + 4], eax
jne 0x4e96fe
cmp dword [ecx], 0
je 0x4e96f6
mov eax, dword [ecx + 4]
test ebx, ebx
sete dl
cmp eax, dword [esp + 0x70]
setb dh
or dh, dl
mov edx, 1
jne 0x4e96ee
mov eax, dword [esp + 0x70]
mov edx, ebx
mov dword [esp + 0x70], eax
mov ebx, edx
jmp 0x4e96fe
mov al, 1
xor ebx, ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
or esi, dword [ecx + 0x18]
and edi, dword [ecx + 0x1c]
and eax, dword [ecx + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
or eax, dword [ecx + 0x24]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x44]
or eax, dword [ecx + 0x28]
cmp byte [esp + 0x88], 0
mov dword [esp + 0x44], eax
mov al, 1
jne 0x4e9603
mov dword [esp + 0x10], ebx
xor ebx, ebx
cmp dword [ecx + 8], 0
mov al, 1
mov dl, 1
je 0x4e95ef
mov ebx, dword [esp + 0x1ec]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x2a0]
test ebx, ebx
sete dh
cmp eax, ecx
seta dl
or dl, dh
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x2a0], ecx
mov ecx, dword [esp + 0x88]
cmovne ebx, eax
mov al, 1
jmp 0x4e95ed
mov al, byte [0x803894]
mov ecx, 0x34
mov edx, 4
call fcn.004889b0
test eax, eax
je 0x4e9f38
mov ecx, eax
mov dword [eax], ebx
mov eax, dword [esp + 0x70]
mov edx, 4
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x1ec]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x2a0]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x1f0]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x1c], edi
mov esi, ecx
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 8]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0xc]
and al, 1
mov byte [ecx + 0x30], al
mov eax, dword [esp + 4]
mov byte [ecx + 0x31], 0
and al, 1
mov byte [ecx + 0x32], al
mov ecx, 0x58
mov al, byte [0x803894]
call fcn.004889b0
test eax, eax
je 0x4e9f47
mov edi, eax
xor eax, eax
lea ebx, [esp + 0x98]
inc eax
mov ecx, ebx
mov edx, edi
mov dword [edi], eax
mov dword [edi + 4], eax
mov eax, dword [esp + 0x324]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x328]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x32c]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x330]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x338]
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0x340]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x334]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x33c]
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x224]
mov dword [edi + 0x28], eax
mov eax, dword [esp + 0x228]
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x320]
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x31c]
mov dword [edi + 0x34], eax
mov al, byte [esp + 0x24c]
mov byte [edi + 0x38], al
mov al, byte [esp + 0x49]
mov byte [edi + 0x3c], al
mov al, byte [esp + 0x4a]
mov byte [edi + 0x3d], al
mov eax, dword [esp + 0x240]
mov byte [edi + 0x3e], al
mov eax, dword [esp + 0x244]
mov byte [edi + 0x3f], al
mov eax, dword [esp + 0x248]
mov byte [edi + 0x40], al
mov eax, dword [esp + 0x23c]
mov byte [edi + 0x41], al
mov eax, dword [esp + 0x238]
mov byte [edi + 0x42], al
mov eax, dword [esp + 0x234]
mov byte [edi + 0x43], al
mov eax, dword [esp + 0x230]
mov byte [edi + 0x44], al
mov eax, dword [esp + 0x22c]
mov byte [edi + 0x45], al
mov al, byte [esp + 0x4b]
mov byte [edi + 0x46], al
mov eax, dword [ebx + 8]
mov dword [edi + 0x50], eax
movsd xmm0, qword [ebx]
movsd qword [edi + 0x48], xmm0
mov dword [edi + 0x54], esi
push dword [esp + 0x1e8]
push dword [esp + 0x164]
call fcn.005015f4
add esp, 8
mov ebx, dword [ebx]
cmp ebx, 2
jne 0x4e99e4
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0xa0]
lock inc dword [ebx]
jle 0x4e9f13
mov al, byte [0x803894]
mov ecx, 8
mov edx, 4
call fcn.004889b0
test eax, eax
je 0x4e9feb
mov ecx, eax
mov edx, 0x7689cc
mov dword [eax], ebx
mov dword [eax + 4], esi
call fcn.0051d17c
mov dword [esp + 0x18], eax
mov ecx, 0x14
mov edx, 4
mov al, byte [0x803894]
call fcn.004889b0
test eax, eax
je 0x4e9ff7
cmp dword [esp + 0x15c], 0
mov ecx, 1
mov dword [esp + 0x44], eax
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], edi
mov ebx, 2
jmp 0x4e9ac1
mov eax, dword [esp + 0x9c]
movsd xmm0, qword [esp + 0xb8]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xa0]
movsd qword [esp + 0x280], xmm0
movsd xmm0, qword [esp + 0xc0]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa4]
movsd qword [esp + 0x288], xmm0
movsd xmm0, qword [esp + 0xc8]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa8]
movsd qword [esp + 0x290], xmm0
movsd xmm0, qword [esp + 0xd0]
mov dword [esp + 4], eax
movzx eax, word [esp + 0xd9]
movsd qword [esp + 0x298], xmm0
mov word [esp + 0x84], ax
mov al, byte [esp + 0xdb]
mov byte [esp + 0x86], al
mov eax, dword [esp + 0xac]
mov dword [esp + 0x10], eax
mov al, byte [esp + 0xd8]
mov byte [esp + 0x20], al
lock dec dword [edi]
jne 0x4e9ab9
mov ecx, edi
call fcn.004ef822
cmp dword [esp + 0x15c], 0
mov eax, dword [esp + 0x160]
je 0x4e9ad9
push eax
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esp + 0x168]
mov edx, dword [esp + 0x170]
mov ecx, esi
call fcn.00537d9e
cmp dword [esp + 0x16c], 0
je 0x4e9b07
push esi
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x1fc]
mov eax, dword [esp + 0x1f4]
test edi, edi
mov dword [esp + 8], eax
je 0x4e9b2e
mov esi, dword [esp + 8]
mov ecx, esi
call fcn.0053a95c
add esi, 8
dec edi
jne 0x4e9b21
cmp dword [esp + 0x1f8], 0
mov edi, dword [esp + 0x44]
je 0x4e9b4e
push dword [esp + 8]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x2a4]
mov eax, dword [esp + 0x80]
cmp ebx, 2
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
jne 0x4e7a64
mov ebx, dword [esp + 0x164]
mov esi, dword [esp + 0x18]
mov edx, eax
mov dword [ebx], edi
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
jmp 0x4e87e8
mov eax, dword [esp + 0x15c]
xor edi, edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1e8], eax
jmp 0x4e959a
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa4]
mov byte [esp + 0x20], cl
lea ecx, [esp + 0xdc]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x24], eax
movzx eax, word [ecx - 0xb]
mov word [esp + 0x28], ax
mov eax, dword [esp + 0xac]
movzx edx, word [esp + 0x28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xb0]
movsd xmm0, qword [eax + 0x18]
movsd xmm1, qword [eax + 8]
mov word [esp + 0x14], dx
movsd qword [esp + 0x148], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x138], xmm1
movsd xmm1, qword [esp + 0x138]
movsd qword [esp + 0x140], xmm0
movsd xmm0, qword [eax]
mov al, byte [ecx - 9]
mov ecx, dword [esp + 0xd4]
movsd qword [esp + 0x118], xmm1
movsd qword [esp + 0x130], xmm0
mov byte [esp + 0x2a], al
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x4c]
movsd xmm0, qword [esp + 0x130]
mov al, byte [esp + 0x2a]
movsd qword [esp + 0x110], xmm0
movsd xmm0, qword [esp + 0x140]
mov byte [esp + 0x16], al
movsd qword [esp + 0x120], xmm0
movsd xmm0, qword [esp + 0x148]
movsd qword [esp + 0x128], xmm0
call fcn.0053b532
jmp 0x4e792a
lea ecx, [esp + 0x130]
mov byte [esp + 0x1a0], al
call fcn.00431c49
mov edi, dword [esp + 0x184]
mov ecx, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x17c]
movzx esi, word [esp + 0x158]
mov dl, byte [esp + 0x15a]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x1a0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x188]
movsd qword [esp + 0x280], xmm0
movsd xmm0, qword [esp + 0x198]
mov dword [esp + 0xc], eax
mov word [esp + 0x84], si
mov byte [esp + 0x86], dl
mov dword [esp + 0x290], edi
mov edi, dword [esp + 0x58]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x18c]
movsd qword [esp + 0x288], xmm0
test edi, edi
mov dword [esp + 0x1c], ecx
je 0x4e9e52
mov esi, dword [esp + 0x50]
mov ecx, esi
call fcn.0053b56c
add esi, 0x1c
dec edi
jne 0x4e9e45
cmp dword [esp + 0x54], 0
je 0x4e9e6b
push dword [esp + 0x50]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 0x18], 0x22
jmp 0x4e79dc
mov ecx, 4
mov edx, 0x74
jmp 0x4ea001
lea eax, [esp + 0x98]
lea edx, [esp + 0x17c]
mov ecx, 0x7c1480
mov dword [eax], 0
push 0x766d18
push eax
call fcn.00651647
add esp, 8
ud2
mov ecx, 0x76c290
jmp 0x4e9ebc
mov ecx, 0x76c2a0
call fcn.00652520
ud2
cmp dword [esp + 0x50], 0
je 0x4e9fb0
push dword [esp + 0x4c]
jmp 0x4e9fa2
ud2
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_alloc_src_string.rs
mov edx, 0x37
push 0x7f4d0c
push 0x766ca8
push esi
jmp 0x4e9fd8
mov ecx, 0x76c56c
jmp 0x4e9ebc
mov ecx, 4
mov edx, 0x34
jmp 0x4ea001
mov ecx, 4
mov edx, 0x58
jmp 0x4ea001
test ecx, ecx
je 0x4e9f6c
push dword [esp + 0x4c]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esp + 0x200]
call fcn.0054d218
cmp dword [esp + 0x284], 0
je 0x4e9f97
push dword [esp + 0x280]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x2c], 0
je 0x4e9fb0
push dword [esp + 0x28]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esp + 0x250]
call fcn.0054d1b4
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_alloc_src_string.rs
mov edx, 0x37
push 0x7f4d0c
push 0x766ca8
lea eax, [esp + 0x184]
push eax
call fcn.006525c0
add esp, 0xc
ud2
mov ecx, 4
mov edx, ebx
jmp 0x4ea001
mov ecx, 4
mov edx, 8
jmp 0x4ea001
mov ecx, 4
mov edx, 0x14
call fcn.00651860
ud2
mov ecx, 0x76da64
call fcn.00652570
ud2
mov dword [esp + 0x98], 0
lea ecx, [esp + 0x250]
mov edx, 0x7c1480
push 0x76da84
push edi
call fcn.00658149
jmp 0x4e9eab
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_syncmpmclist.rs
mov edx, 0x2b
push 0x76da74
call fcn.006522d0
add esp, 4
ud2