Function at 0x48dda0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x2d00
call fcn.00589420
mov esi, esp
mov dword [esi + 0x2ce8], ebp
lea eax, [esi + 0x2cf0]
mov dword [esi + 0x60], ecx
mov dword [esi + 0x10], edx
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x584b70
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
call 0x48dde9
pop ecx
mov eax, dword [edx + 0x58]
mov dword [esi + 0x3c], ecx
test byte [eax + 0x1c], 1
jne 0x48dec2
cmp byte [edx + 0x3c], 3
lea eax, [edx + 0x30]
mov ecx, 0x5d0618
cmovne ecx, eax
mov al, byte [ecx + 0xc]
cmp al, 2
jne 0x48dece
cmp byte [edx + 0x44], 0
je 0x48dec2
mov al, byte [edx + 0x42]
cmp al, 2
sete cl
or cl, al
mov byte [esi], cl
lea ecx, [esi + 0x1850]
push 0xa
pop eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x64
mov dword [ecx + 0xc], 0xfa
mov byte [ecx + 0x10], 0
lea ecx, [esi + 0x2668]
mov edx, dword [ebp + 8]
and dword [ecx], 0
mov dword [ecx + 4], 4
and dword [ecx + 8], 0
mov ecx, dword [ebp + 0xc]
mov edi, edx
lea ecx, [edx + ecx*4]
mov dword [esi + 0x18], ecx
cmp edi, dword [esi + 0x18]
je 0x48defc
mov eax, dword [edi]
and dword [esi + 0x2cf8], 0
mov dword [esi + 0x20], edi
lea ecx, [esi + 0x270]
lea edx, [esi + 0x1850]
push eax
call fcn.004c4a3c
pop eax
lea ecx, [esi + 0x2668]
lea edx, [esi + 0x270]
mov dword [esi + 0x2cf8], 1
call fcn.004979f4
mov edi, dword [esi + 0x20]
lea ecx, [esi + 0x270]
add edi, 4
call fcn.00494c9f
jmp 0x48de6c
mov byte [esi + 0x8c], 2
jmp 0x48e077
mov edx, dword [ecx]
lock inc dword [edx]
jle 0x492ddd
mov edi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esi + 0x80], edx
mov dword [esi + 0x84], edi
mov dword [esi + 0x88], ecx
mov byte [esi + 0x8c], al
jmp 0x48e077
and dword [esi + 0x2cf8], 0
test byte [esi], 1
je 0x48df15
lea ecx, [esi + 0x2668]
call fcn.004a8206
jmp 0x48df2b
lea ecx, [esi + 0x2668]
call fcn.0049733a
lea ecx, [esi + 0x2668]
call fcn.004979e7
mov eax, dword [esi + 0x2670]
movsd xmm0, qword [esi + 0x2668]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x1478], eax
movsd qword [esi + 0x1470], xmm0
mov dl, byte [ecx + 0x42]
mov edi, dword [esi + 0x1474]
cmp dl, 2
setne cl
test dl, 1
sete ch
xor edx, edx
cmp dword [esi + 0x1470], 0x80000000
cmovne edx, edi
je 0x48dfd2
mov ebx, eax
and cl, ch
shl ebx, 4
test ebx, ebx
je 0x48df89
add ebx, 0xfffffff0
cmp byte [edi + 0xc], 0
lea edi, [edi + 0x10]
jne 0x48df77
jmp 0x48dfd2
mov edi, dword [esi + 0x10]
cmp dword [edi + 0x54], 1
jne 0x48dfd2
mov edi, dword [esi + 0x10]
mov edi, dword [edi + 0x50]
mov edi, dword [edi]
cmp dword [edi + 0x2c], 0
jne 0x48dfd2
cmp dword [edi + 0x18], 0
setne ch
or cl, ch
jne 0x48dfd2
mov dword [esi + 0x2cf8], 2
lea ecx, [esi + 0x1850]
push eax
call fcn.00493e77
pop eax
cmp dword [esi + 0x1850], 0x80000007
jne 0x490200
and dword [esi + 0x940], 0
mov dword [esi + 0x2cf8], 2
lea ecx, [esi + 0x940]
mov dword [esi + 0x2cf8], 2
call fcn.00494cc4
cmp dword [ebp + 0xc], 1
jne 0x48e020
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x54], 0
je 0x491854
mov eax, dword [eax + 0x50]
mov eax, dword [eax]
cmp dword [eax + 0x18], 0
jne 0x48e020
cmp dword [eax + 0x2c], 0
je 0x48fcfa
lea ecx, [esi + 0x1088]
mov dword [esi + 0x2cf8], 2
and dword [ecx], 0
mov dword [ecx + 4], 0x5d0ed0
call fcn.00494cc4
cmp dword [esi + 0x1470], 0x80000000
jne 0x48e054
mov byte [esi + 0x8c], 2
jmp 0x48e06c
mov edx, dword [esi + 0x1474]
lea ecx, [esi + 0x80]
push dword [esi + 0x1478]
call fcn.00494cce
pop eax
lea ecx, [esi + 0x1470]
call fcn.00494c9f
mov eax, dword [esi + 0x10]
lock inc dword [eax]
jle 0x492ddd
mov dl, byte [esi + 0x8c]
cmp dl, 2
mov byte [esi + 0x18], dl
jne 0x48e0a1
mov byte [esi + 0x7c], 2
mov dword [esi + 0x2cf8], 0x2f
jmp 0x48e0d5
mov edi, dword [esi + 0x80]
lock inc dword [edi]
jle 0x492ddd
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x88]
mov dword [esi + 0x70], edi
mov dword [esi + 8], edi
mov dword [esi + 0x2cf8], 0x2f
mov dword [esi + 0x74], eax
mov dword [esi + 0x78], ecx
mov byte [esi + 0x7c], dl
mov edi, dword [esi + 0x10]
mov dword [esi + 0x68], edi
cmp byte [edi + 0x40], 0
movzx ecx, byte [edi + 0x41]
push 0xa
pop eax
cmove ecx, eax
xor eax, eax
mov edx, 0xa00000
mov dword [esi], ecx
mov ecx, dword [edi + 0x10]
inc eax
mov dword [esi + 0x20], eax
cmp ecx, 2
cmove ecx, eax
movzx eax, byte [edi + 0x4a]
cmovne edx, dword [edi + 0x14]
xor ebx, ebx
cmp al, 3
cmovne ebx, eax
cmp byte [edi + 0x43], 0
mov eax, dword [esi]
mov dword [esi + 0x90], ecx
lea ecx, [esi + 0x270]
mov dword [esi + 0x94], edx
mov byte [esi + 0x98], 1
mov byte [esi + 0x99], al
setne byte [esi + 0x9a]
mov word [esi + 0x9b], 2
mov byte [esi + 0x9d], bl
call fcn.00484d2e
lea ebx, [esi + 0x21a8]
lea edx, [esi + 0x90]
mov ecx, ebx
call fcn.00488034
lea edi, [esi + 0x270]
mov edx, ebx
mov ecx, edi
call fcn.00486339
mov dword [esi + 0x2cf8], 0x55
lea ecx, [esi + 0x940]
mov edx, edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00494d3c
pop eax
pop ecx
cmp dword [esi + 0x940], 0x2a
jne 0x48e1be
mov edi, dword [esi + 0x944]
lea ebx, [esi + 0x270]
mov ecx, ebx
mov dword [esi + 0x64], edi
call fcn.004863d9
mov al, byte [esi + 0x18]
mov dword [esi + 4], edi
cmp al, 2
jne 0x48e1e6
mov byte [esi + 0x18], 2
jmp 0x48e1fd
lea eax, [esi + 0x1e4]
push 0x40
lea ecx, [esi + 0x940]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
lea ecx, [esi + 0x270]
call fcn.004863d9
jmp 0x48eeec
mov ecx, dword [esi + 8]
lock inc dword [ecx]
jle 0x492ddd
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x78]
mov dword [esi + 0xc], eax
mov dword [esi], ecx
mov eax, dword [esi + 0x10]
mov al, byte [eax + 0x42]
mov byte [esi + 0x27c], 3
mov dword [esi + 0x2cf8], 0x31
cmp al, 2
sete cl
or cl, al
and cl, 1
mov byte [esi + 0x280], cl
push ebx
call fcn.0047b0e6
pop eax
mov eax, dword [esi + 8]
lea ecx, [esi + 0x940]
mov byte [esi + 0x21b8], 2
mov byte [esi + 0x21b4], 3
mov dword [esi + 0x2cf8], 0x51
mov dword [esi + 0x270], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x274], eax
mov eax, dword [esi]
mov dword [esi + 0x278], eax
mov al, byte [esi + 0x18]
mov byte [esi + 0x27c], al
mov eax, dword [esi + 0x280]
movsd xmm0, qword [esi + 0x270]
movsd xmm1, qword [esi + 0x278]
mov dword [esi + 0xe10], eax
movsd qword [esi + 0xe00], xmm0
movsd qword [esi + 0xe08], xmm1
call fcn.00484d2e
mov eax, dword [esi + 0x21b8]
movsd xmm0, qword [esi + 0x21a8]
movsd xmm1, qword [esi + 0x21b0]
mov ecx, 0xf0
mov dword [esi + 0x370], eax
movsd qword [esi + 0x368], xmm1
movsd qword [esi + 0x360], xmm0
push ecx
lea eax, [esi + 0x940]
push eax
lea edi, [esi + 0x270]
push edi
call fcn.0058a110
add esp, 0xc
mov edx, dword [esi + 0xe00]
mov eax, dword [esi + 0xe04]
mov ebx, dword [esi + 0xe08]
mov cl, byte [esi + 0xe0c]
mov dword [esi + 0x940], edx
mov dword [esi + 0x944], eax
mov dword [esi + 0x10], eax
movzx eax, word [esi + 0xe0d]
mov dword [esi + 0x948], ebx
mov dword [esi], ebx
mov byte [esi + 0x94c], cl
mov bl, byte [esi + 0xe10]
mov bh, byte [esi + 0x370]
cmp cl, 3
mov word [esi + 0x94d], ax
mov ah, byte [esi + 0xe0f]
mov byte [esi + 0x94f], ah
jne 0x48e35b
mov al, byte [esi + 0x36c]
mov byte [esi + 0x18], bl
mov byte [esi + 0x24], bh
cmp al, 3
jne 0x48e37c
mov byte [esi + 0xc], 3
jmp 0x48e384
lea eax, [esi + 0xe0d]
mov byte [esi + 0xc], cl
mov dword [esi + 8], edx
mov cl, byte [eax + 2]
movzx eax, word [eax]
mov byte [esi + 0x21aa], cl
mov word [esi + 0x21a8], ax
jmp 0x48e3cf
cmp al, 2
jne 0x48e386
mov byte [esi + 0xc], 2
jmp 0x48e3ac
mov ecx, dword [esi + 0x360]
mov dword [esi + 8], ecx
lock inc dword [ecx]
jle 0x492ddd
mov edx, dword [esi + 0x364]
mov ecx, dword [esi + 0x368]
mov byte [esi + 0xc], al
mov dword [esi + 0x10], edx
mov dword [esi], ecx
lea eax, [esi + 0x940]
mov dword [esi + 0x2cf8], 0x53
push eax
call fcn.0047b0e6
pop eax
mov bl, byte [esi + 0x18]
mov bh, byte [esi + 0x24]
lea edi, [esi + 0x270]
mov eax, 0xf0
movzx ecx, bl
movzx edx, word [esi + 0x21a8]
mov dword [esi + 0x2cf8], 0x54
add edi, eax
cmp bl, 2
movzx eax, bh
cmove ecx, eax
mov dword [esi + 0x18], ecx
mov cl, byte [esi + 0x21aa]
mov word [esi + 0x940], dx
mov byte [esi + 0x942], cl
push edi
call fcn.0047b0e6
pop eax
mov eax, dword [esi + 8]
mov bl, byte [esi + 0xc]
mov edi, dword [esi + 4]
mov dword [esi + 0x360], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x364], eax
mov eax, dword [esi]
mov dword [esi + 0x368], eax
movzx eax, word [esi + 0x940]
mov byte [esi + 0x36c], bl
mov word [esi + 0x36d], ax
mov al, byte [esi + 0x942]
mov byte [esi + 0x36f], al
mov eax, dword [esi + 0x18]
mov byte [esi + 0x370], al
lock inc dword [edi]
jle 0x492ddd
push 2
pop ecx
mov edx, dword [esi + 0x18]
xor eax, eax
mov dword [esi + 0x18], ecx
test dl, dl
setne al
cmp dl, 2
cmove eax, ecx
cmp bl, 3
je 0x48e495
movzx ecx, bl
cmp ecx, 2
jne 0x48e489
mov bl, 2
jmp 0x48e495
mov ecx, dword [esi + 8]
lock inc dword [ecx]
jle 0x492ddd
movzx ecx, word [esi + 0x21a8]
movzx edx, word [esi + 0x940]
mov dword [esi + 0x2cf8], 0x52
mov word [esi + 0x1470], cx
mov cl, byte [esi + 0x942]
mov dword [esi + 0x940], edi
mov edi, dword [esi + 8]
mov word [esi + 0x11e8], dx
mov dword [esi + 0x944], edi
mov edi, dword [esi + 0x10]
mov byte [esi + 0x11ea], cl
mov dword [esi + 0x948], edi
mov edi, dword [esi]
mov dword [esi + 0x94c], edi
mov byte [esi + 0x950], bl
mov byte [esi + 0x953], cl
mov word [esi + 0x951], dx
mov byte [esi + 0x954], al
movzx eax, word [esi + 0x1470]
lea ecx, [esi + 0x270]
mov word [esi + 0x955], ax
mov al, byte [esi + 0x21aa]
mov byte [esi + 0x1472], al
mov al, byte [esi + 0x1472]
mov byte [esi + 0x957], al
call fcn.00497114
movsd xmm1, qword [esi + 0x948]
mov al, byte [esi + 0x7c]
movsd xmm0, qword [esi + 0x940]
movsd qword [esi + 0xd8], xmm1
movsd xmm1, qword [esi + 0x950]
cmp al, 2
movsd qword [esi + 0xd0], xmm0
movsd qword [esi + 0xe0], xmm1
jne 0x48e571
mov byte [esi + 0x11f4], 2
jmp 0x48e59b
mov ecx, dword [esi + 0x70]
lock inc dword [ecx]
jle 0x492ddd
mov edx, dword [esi + 0x74]
mov edi, dword [esi + 0x78]
mov dword [esi + 0x11e8], ecx
mov dword [esi + 0x11ec], edx
mov dword [esi + 0x11f0], edi
mov byte [esi + 0x11f4], al
mov ecx, dword [esi + 0x68]
cmp byte [ecx + 0x48], 0
je 0x48e5af
mov al, byte [ecx + 0x42]
cmp al, 2
je 0x48e5da
and al, 1
jne 0x48e5da
lea eax, [esi + 0x11e8]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x2cf8], 0x32
push eax
call fcn.0047b0f5
pop eax
push 2
pop eax
mov edi, dword [esi + 0x10]
lea ecx, [esi + 0x270]
jmp 0x48e917
lea eax, [esi + 0x278]
mov dword [esi + 0x2cf8], 0x33
mov byte [eax + 0xc], 3
and dword [eax - 8], 0
push eax
call fcn.0047b0e6
pop eax
movsd xmm0, qword [esi + 0x11e8]
movsd xmm1, qword [esi + 0x11f0]
lea eax, [esi + 0x278]
mov byte [esi + 0x21bc], 3
and dword [esi + 0x21a8], 0
lea ecx, [esi + 0x940]
mov dword [esi + 0x2cf8], 0x4c
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
movsd xmm1, qword [esi + 0x278]
movsd xmm0, qword [esi + 0x270]
movsd qword [esi + 0xe08], xmm1
movsd xmm1, qword [esi + 0x280]
movsd qword [esi + 0xe00], xmm0
movsd qword [esi + 0xe10], xmm1
call fcn.00484d2e
movsd xmm0, qword [esi + 0x21b8]
movsd xmm2, qword [esi + 0x21a8]
movsd xmm1, qword [esi + 0x21b0]
lea eax, [esi + 0x288]
movsd qword [eax - 8], xmm0
movsd qword [eax - 0x10], xmm1
movsd qword [eax - 0x18], xmm2
push 0xf0
lea ecx, [esi + 0x940]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
mov edx, dword [esi + 0xe08]
mov eax, dword [esi + 0xe0c]
mov edi, dword [esi + 0xe10]
mov cl, byte [esi + 0xe14]
mov ch, byte [esi + 0xe17]
mov ebx, dword [esi + 0xe00]
mov dword [esi + 0x940], edx
mov dword [esi + 0x944], eax
mov dword [esi + 0x948], edi
mov dword [esi + 4], edi
mov edi, dword [esi + 0xe04]
mov dword [esi + 8], eax
movzx eax, word [esi + 0xe15]
cmp cl, 3
mov byte [esi + 0x94c], cl
mov byte [esi + 0x94f], ch
mov dword [esi], edi
lea edi, [esi + 0x940]
mov word [esi + 0x94d], ax
jne 0x48e729
mov al, byte [esi + 0x284]
mov dword [esi + 0x10], ebx
cmp al, 3
jne 0x48e747
mov byte [esi + 0x24], 3
jmp 0x48e74f
lea eax, [esi + 0xe15]
mov byte [esi + 0x24], cl
mov cl, byte [eax + 2]
movzx eax, word [eax]
mov byte [esi + 0x21aa], cl
mov word [esi + 0x21a8], ax
jmp 0x48e78f
cmp al, 2
jne 0x48e751
mov byte [esi + 0x24], 2
jmp 0x48e778
mov ecx, dword [esi + 0x278]
mov dword [esi + 0xc], ecx
lock inc dword [ecx]
jle 0x492ddd
mov edx, dword [esi + 0x27c]
mov ecx, dword [esi + 0x280]
mov byte [esi + 0x24], al
mov dword [esi + 8], edx
mov dword [esi + 4], ecx
mov dword [esi + 0x2cf8], 0x4e
push edi
call fcn.0047b0e6
pop eax
mov edx, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
test ebx, ebx
lea ecx, [esi + 0x278]
mov dword [esi + 0xc], edx
jne 0x48e7ac
mov eax, dword [esi + 0x274]
mov dword [esi], eax
mov eax, dword [esi + 0x270]
jmp 0x48e7af
xor eax, eax
inc eax
movzx edi, word [esi + 0x21a8]
mov dl, byte [esi + 0x21aa]
mov dword [esi + 0x10], eax
mov dword [esi + 0x2cf8], 0x4f
mov word [esi + 0x940], di
mov byte [esi + 0x942], dl
push ecx
call fcn.0047b0e6
pop eax
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0xc]
mov bl, byte [esi + 0x24]
movzx edx, word [esi + 0x940]
mov cl, byte [esi + 0x942]
mov dword [esi + 0x270], eax
mov eax, dword [esi]
mov dword [esi + 0x274], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x278], edi
mov dword [esi + 0x27c], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x280], eax
mov byte [esi + 0x284], bl
mov word [esi + 0x285], dx
mov edx, dword [esi + 0x64]
mov byte [esi + 0x287], cl
lock inc dword [edx]
jle 0x492ddd
cmp bl, 3
mov dword [esi + 0x28], edx
je 0x48e84f
mov eax, dword [esi + 0x10]
movzx ecx, bl
cmp ecx, 2
jne 0x48e854
mov bl, 2
jmp 0x48e86b
mov eax, dword [esi + 0x10]
jmp 0x48e86b
lock inc dword [edi]
jle 0x492ddd
mov eax, dword [esi + 0x270]
mov ecx, dword [esi + 0x274]
mov dword [esi], ecx
mov cl, byte [esi + 0x942]
movzx edx, word [esi + 0x940]
mov dword [esi + 0x10], eax
mov dword [esi + 0x940], eax
mov eax, dword [esi]
mov dword [esi + 0x2cf8], 0x4d
mov dword [esi + 0x944], eax
mov dword [esi + 0x948], edi
mov edi, dword [esi + 8]
mov eax, dword [esi + 4]
mov byte [esi + 0x21aa], cl
mov word [esi + 0x21a8], dx
mov dword [esi + 0x94c], edi
mov dword [esi + 0x950], eax
mov eax, dword [esi + 0x28]
mov byte [esi + 0x954], bl
mov byte [esi + 0x957], cl
lea ecx, [esi + 0x270]
mov word [esi + 0x955], dx
mov dword [esi + 0x958], eax
call fcn.0049717c
lea eax, [esi + 0x944]
mov edi, dword [esi + 0x68]
lea ecx, [esi + 0x270]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [esi + 0x278], xmm1
movsd xmm1, qword [eax + 0x10]
mov eax, dword [esi + 0x10]
movsd qword [esi + 0x270], xmm0
movsd qword [esi + 0x280], xmm1
push 3
pop edx
movsd xmm0, qword [esi + 0x280]
movsd xmm1, qword [esi + 0x270]
movsd xmm2, qword [esi + 0x278]
movsd qword [esi + 0xb4], xmm1
movsd qword [esi + 0xbc], xmm2
movsd qword [esi + 0xc4], xmm0
mov dword [esi + 0xb0], eax
cmp byte [edi + 0x47], 0
je 0x48ea40
mov eax, dword [edi + 0x58]
cmp dword [eax + 0x2c], 0
jne 0x48e970
test dword [eax + 0x18], 0x33300
je 0x48ea40
mov ecx, dword [edi + 0x1c]
mov al, byte [edi + 0x42]
mov bl, byte [edi + 0x49]
mov edx, dword [edi + 0x18]
mov dword [esi + 0x2cf8], 0x34
mov dword [esi + 0x10], ecx
lea ecx, [esi + 0x270]
mov byte [esi + 4], al
mov byte [esi], bl
mov dword [esi + 8], edx
call fcn.00484d2e
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
xor ecx, ecx
mov eax, 0x100000
inc ecx
cmp edi, 2
cmove edx, eax
mov al, byte [esi + 4]
cmove edi, ecx
lea ecx, [esi + 0x11f4]
mov dword [esi + 0x10], edx
cmp al, 2
sete bl
or bl, al
and bl, 1
push 0xf0
lea eax, [esi + 0x270]
push eax
push ecx
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x10]
lea ecx, [esi + 0x11f4]
cmp byte [esi], 0
mov dword [ecx - 0xc], edi
mov dword [ecx - 8], eax
mov byte [ecx - 4], bl
mov ebx, dword [esi + 0x64]
mov byte [ecx - 3], 1
setne byte [ecx - 2]
lock inc dword [ebx]
jle 0x492ddd
lea edi, [esi + 0x1088]
lea edx, [esi + 0x11e8]
mov dword [esi + 0xe8], ebx
mov ecx, edi
call fcn.00484fcf
cmp byte [edi + 0xa], 0
je 0x48ea45
lea eax, [ebx + 8]
lea ecx, [esi + 0xe00]
push pe_nt_image_headers32
push eax
push ecx
call fcn.0058a110
add esp, 0xc
jmp 0x48ea50
jmp 0x48ed6e
lea ecx, [esi + 0xe00]
call fcn.0040f094
movzx eax, byte [esi + 0xeff]
lea edx, [esi + 0x1088]
inc eax
bsr ecx, eax
mov dword [esi], eax
xor eax, eax
dec eax
not ecx
shr eax, cl
lea ecx, [esi + 0x270]
mov dword [esi + 8], eax
call fcn.00484fcf
lock inc dword [ebx]
jle 0x492ddd
mov dword [esi + 0x1470], ebx
mov edx, 0x5cfcbc
mov dword [esi + 0x10], ebx
mov ecx, dword [ebx + 0x154]
mov dword [esi + 0x2cf8], 0x4a
mov dword [esi + 4], ecx
not ecx
shr ecx, 0x1f
call fcn.004af3e6
mov eax, dword [esi + 8]
mov edi, dword [esi + 4]
movsd xmm0, qword [esi + 0x270]
lea ebx, [esi + 0x96c]
inc eax
add edi, edi
movsd qword [ebx - 0x2c], xmm0
bsf eax, eax
mov dword [esi + 8], eax
mov eax, dword [esi + 0x278]
mov dword [ebx - 0x24], eax
lea eax, [esi + 0xe00]
push pe_nt_image_headers32
push eax
push ebx
call fcn.0058a110
add esp, 0xc
mov ecx, dword [esi + 0x10]
mov eax, dword [esi]
mov edx, dword [esi + 8]
and dword [ebx - 0x20], 0
mov dword [ebx - 0x1c], 8
and dword [ebx - 0x18], 0
and dword [ebx - 0x14], 0
mov dword [ebx - 0x10], 4
and dword [ebx - 0xc], 0
mov dword [ebx - 8], ecx
mov dword [ebx - 4], 0x7ffffffe
mov dword [ebx + 0x100], eax
mov dword [ebx + 0x104], edx
mov dword [ebx + 0x108], eax
mov dword [ebx + 0x10c], edi
mov ecx, dword [ecx + 0x148]
mov dword [esi + 0x2cf8], 0x47
mov dword [esi], ecx
call fcn.00484039
lea ecx, [esi + 0x270]
mov dword [esi + 0x2cf8], 0x49
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [esi]
and dword [ecx + 8], 0
call fcn.00483c62
mov ecx, dword [esi + 0x274]
mov edx, dword [esi + 0x278]
mov eax, dword [esi + 0x270]
mov dword [esi], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 4], edx
mov dword [esi + 8], eax
mov edx, dword [ecx + 0x148]
lea ecx, [esi + 0x1470]
mov dword [esi + 0x2cf8], 0x48
call fcn.00485021
lea edi, [esi + 0x3fc]
push pe_nt_image_headers32
lea eax, [esi + 0xe00]
push eax
push edi
call fcn.0058a110
add esp, 0xc
push 0x13c
lea eax, [esi + 0x940]
push eax
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 8]
and dword [edi - 0x44], 0
mov dword [edi - 0x40], 4
and dword [edi - 0x3c], 0
movsd xmm0, qword [esi + 0x1470]
lea ecx, [esi + 0x3dc]
movsd xmm1, qword [esi + 0x1478]
mov dword [edi - 0x38], eax
mov eax, dword [esi]
mov dword [edi - 0x34], eax
mov eax, dword [esi + 4]
mov dword [edi - 0x30], eax
mov eax, dword [esi + 0x1488]
and dword [edi - 0x2c], 0
mov dword [edi - 0x28], 8
and dword [edi - 0x24], 0
movsd qword [ecx], xmm0
movsd xmm0, qword [esi + 0x1480]
movsd qword [ecx + 8], xmm1
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1090]
movsd qword [ecx + 0x10], xmm0
mov byte [ecx + 0x120], 0
movsd xmm0, qword [esi + 0x1088]
mov dword [ecx - 0x28], eax
lea eax, [esi + 0xe8]
movsd qword [ecx - 0x30], xmm0
mov ebx, dword [eax]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x130]
mov dword [esi + 0x940], eax
lea ecx, [esi + 0x940]
call fcn.0047d848
test eax, eax
je 0x48ec91
mov edi, eax
cmp eax, 0x201
jb 0x48ec71
push 0x2d
pop eax
mov dword [esi + 8], eax
jmp 0x48ecd7
cmp dword [ebx + 0x154], 0x3fffff
jbe 0x48ecb2
push 0x2c
pop eax
mov dword [esi + 8], eax
mov dword [esi + 0x10], 0x3fffff
mov dword [esi], 0
jmp 0x48ecd7
mov ecx, dword [ebx + 0x13c]
call fcn.00485107
push 0x2f
pop ecx
cmp eax, 0x20
mov dword [esi + 8], ecx
jbe 0x48f2a1
mov edi, str.too_many_explicit_capturing_groups__max_is_16_match_states_should_be_a_proper_subset_of_all_states
push 0x2e
pop eax
mov dword [esi + 0x10], eax
lea ecx, [esi + 0x270]
call fcn.004850be
xor ebx, ebx
lea eax, [esi + 0xe8]
push eax
call fcn.0047c599
pop eax
lea ecx, [esi + 0x11f4]
call fcn.004863d9
test bl, bl
je 0x48ed29
push 0x128
lea eax, [esi + 0x21a8]
push eax
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
mov edx, dword [esi + 4]
mov ebx, dword [esi + 8]
lea ecx, [esi + 0x270]
jmp 0x48ed6e
mov ebx, dword [esi + 8]
mov ecx, dword [esi]
lea eax, [esi + 0x280]
mov dword [eax - 0x10], ebx
mov dword [eax - 0xc], edi
mov dword [eax - 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax - 8], ecx
push 0x30
lea ecx, [esi + 0x21a8]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
cmp ebx, 0x29
ja 0x48ed65
lea ecx, [esi + 0x270]
call fcn.0048640a
lea ecx, [esi + 0x270]
push 3
pop edx
lea eax, [esi + 0x170c]
mov dword [eax - 0x14], edx
mov dword [eax - 0x10], ebx
mov dword [eax - 0xc], edi
mov ebx, dword [esi + 0x10]
mov edi, dword [esi]
mov dword [eax - 8], ebx
mov dword [eax - 4], edi
push 0x128
push ecx
push eax
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x68]
cmp byte [eax + 0x45], 0
mov dword [esi + 0x10], eax
je 0x48ee6e
lea ecx, [esi + 0x270]
mov dword [esi + 0x2cf8], 0x35
call fcn.00484d2e
lea edi, [esi + 0xe00]
lea edx, [esi + 0x90]
mov ecx, edi
call fcn.00488034
mov byte [edi + 0xd], 2
lea edx, [esi + 0x11e8]
movsd xmm0, qword [edi]
mov eax, dword [edi + 7]
movsd qword [edx], xmm0
mov dword [edx + 7], eax
mov eax, dword [edi + 0xc]
lea edi, [esi + 0x270]
mov byte [edx + 0xb], 1
mov ecx, edi
mov dword [edx + 0xc], eax
call fcn.00486339
mov dword [esi + 0x2cf8], 0x40
lea ecx, [esi + 0x940]
mov edx, edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00494d3c
pop eax
pop ecx
cmp dword [esi + 0x940], 0x2a
lea edi, [esi + 0x21a8]
jne 0x48ee86
mov eax, dword [esi + 0x944]
lea ebx, [esi + 0x270]
mov ecx, ebx
mov dword [esi + 4], eax
mov dword [esi + 0xcc], eax
call fcn.004863d9
mov eax, dword [esi + 0x10]
cmp byte [eax + 0x45], 0
je 0x48ef19
mov al, byte [esi + 0x7c]
cmp al, 2
jne 0x48ef30
mov bl, 2
mov byte [esi + 0xac], 2
jmp 0x48ef69
mov dword [esi], 0
mov dword [esi + 4], 0
lea edi, [esi + 0x21a8]
jmp 0x48f7c6
lea eax, [esi + 0x1e4]
push 0x40
lea ecx, [esi + 0x940]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
lea ecx, [esi + 0x270]
call fcn.004863d9
lea eax, [esi + 0x16f8]
push eax
call fcn.0047db17
pop eax
lea eax, [esi + 0xb0]
mov dword [esi + 0x2cf8], 0x32
push eax
call fcn.0047db89
pop eax
lea ecx, [esi + 0xd0]
mov dword [esi + 0x2cf8], 0x30
call fcn.0047dc59
lea eax, [esi + 0x64]
push eax
call fcn.0047c599
pop eax
lea eax, [esi + 0x70]
mov dword [esi + 0x2cf8], 0x2e
push eax
call fcn.0047b0f5
pop eax
lea eax, [esi + 0x68]
mov dword [esi + 0x2cf8], 0x13
push eax
call fcn.0047dd0a
pop eax
jmp 0x48f8a6
mov dword [esi], 0
push 2
pop eax
lea ecx, [esi + 0xe00]
mov dword [esi + 0x18], eax
jmp 0x48f7a5
mov ecx, dword [esi + 0x70]
lock inc dword [ecx]
jle 0x492ddd
mov edx, dword [esi + 0x74]
mov dword [esi + 0xa0], ecx
mov edi, dword [esi + 0x10]
mov ebx, eax
mov dword [esi + 0xa4], edx
mov edx, dword [esi + 0x78]
mov dword [esi + 0xa8], edx
mov byte [esi + 0xac], al
cmp byte [edi + 0x45], 0
je 0x48f747
mov edx, dword [esi + 0x10]
mov dl, byte [edx + 0x42]
cmp dl, 2
sete ah
and dword [esi + 0x270], 0
and dword [esi + 0x274], 0
and dword [esi + 0x298], 0
or ah, dl
and ah, 1
cmp al, 2
push 2
pop edx
mov dword [esi + 0x2a0], edx
mov dword [esi + 0x2a8], edx
mov byte [esi + 0x2bc], 3
mov byte [esi + 0x2c0], ah
mov dword [esi + 0x18], edx
mov dword [esi + 0x2c1], 0x2020202
mov byte [esi + 0x2c5], 2
mov byte [esi + 0x20], bl
jne 0x48efcf
mov byte [esi + 0x11f4], 2
jmp 0x48effc
lock inc dword [ecx]
jle 0x492ddd
mov edx, dword [esi + 0xa4]
mov edi, dword [esi + 0xa8]
mov dword [esi + 0x11e8], ecx
mov dword [esi + 0x11ec], edx
mov dword [esi + 0x11f0], edi
mov byte [esi + 0x11f4], al
lea eax, [esi + 0x11e8]
mov dword [esi + 0x2cf8], 0x37
lea ecx, [esi + 0xe00]
lea edx, [esi + 0x270]
push eax
call fcn.00489b4f
pop eax
mov al, 1
lea edi, [esi + 0xe30]
mov byte [edi + 0x21], al
lea eax, [esi + 0x140]
push 0x28
lea ecx, [esi + 0xe00]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
push 0x22
push edi
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
mov ecx, dword [esi + 0x10]
movzx eax, word [edi + 0x26]
mov edx, 0x200000
cmp dword [ecx + 8], 0
je 0x48f069
mov edx, dword [ecx + 0xc]
cmp byte [ecx + 0x49], 0
lea ecx, [esi + 0x270]
lea ebx, [esi + 0x180]
mov dword [esi + 0x2cf8], 0x38
movzx edi, word [ecx + 0x20]
movsd xmm0, qword [ecx + 0x10]
movsd xmm1, qword [ecx + 0x18]
setne byte [ebx + 0x12]
mov word [ebx + 0x10], di
xor edi, edi
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm0
inc edi
cmp byte [esi + 0x20], 2
mov dword [ebx - 0x18], edi
mov dword [ebx - 0x14], edx
mov dl, 1
mov dword [ebx - 0x10], edi
mov dword [ebx - 0xc], 3
mov dword [ebx - 8], edi
mov dword [ebx - 4], 0xa
mov byte [ebx + 0x13], dl
setne byte [ebx + 0x14]
mov byte [ebx + 0x15], 0
mov word [ebx + 0x16], ax
call fcn.0048763e
lea edi, [esi + 0xe00]
lea edx, [esi + 0x140]
mov ecx, edi
call fcn.00487c0e
lea ecx, [esi + 0x270]
mov edx, edi
mov dword [esi + 0x2cf8], 0x3f
call fcn.00489c0e
mov eax, dword [esi + 0x64]
lock inc dword [eax]
jle 0x492ddd
lea ecx, [esi + 0x1470]
lea edx, [esi + 0x270]
push eax
call fcn.00487772
pop eax
lea ecx, [esi + 0x270]
mov byte [esi + 0x49], 1
mov dword [esi + 0x2cf8], 0x39
call fcn.00487707
mov eax, dword [esi + 0x1470]
xor eax, 2
or eax, dword [esi + 0x1474]
jne 0x48f15c
lea ecx, [esi + 0x1478]
call fcn.004971e7
jmp 0x48f27f
push 0x288
lea eax, [esi + 0x1470]
push eax
lea eax, [esi + 0x11e8]
push eax
call fcn.0058a110
add esp, 0xc
lea ecx, [esi + 0x270]
mov byte [esi + 0x44], 1
mov dword [esi + 0x2cf8], 0x3a
call fcn.0048763e
lea edi, [esi + 0x1088]
lea edx, [esi + 0x140]
mov ecx, edi
call fcn.00487c0e
mov byte [edi + 0x50], 0
lea ebx, [esi + 0xe8]
push 0x58
push edi
push ebx
call fcn.0058a110
add esp, 0xc
lea eax, [esi + 0x2198]
mov dword [esi + 0x2cf8], 0x3e
lea ecx, [esi + 0x1088]
mov edx, ebx
mov byte [eax + 0xc], 2
push eax
call fcn.00489b4f
pop eax
mov byte [esi + 0x10dc], 0
push 0x58
lea eax, [esi + 0x1088]
push eax
lea edi, [esi + 0xe8]
push edi
call fcn.0058a110
add esp, 0xc
lea ecx, [esi + 0x270]
mov edx, edi
call fcn.00489c0e
mov eax, dword [esi + 4]
lock inc dword [eax]
jle 0x492ddd
lea ecx, [esi + 0xe00]
lea edx, [esi + 0x270]
push eax
call fcn.00487772
pop eax
mov al, 1
lea ecx, [esi + 0x270]
mov dword [esi + 0x2cf8], 0x3b
mov byte [esi + 0x4e], al
mov byte [esi + 0x4f], al
call fcn.00487707
mov eax, dword [esi + 0xe00]
xor eax, 2
or eax, dword [esi + 0xe04]
jne 0x48f674
lea ecx, [esi + 0xe08]
call fcn.004971e7
lea eax, [esi + 0x1470]
mov byte [esi + 0x49], 0
mov dword [esi + 0x2cf8], 0x39
push eax
call fcn.0047c8b8
pop eax
lea eax, [esi + 0x180]
mov dword [esi + 0x2cf8], 0x37
push eax
call fcn.0047b0e6
pop eax
mov dword [esi], 0
jmp 0x48f753
lea ecx, [esi + 0x940]
lea edx, [esi + 0x270]
mov dword [esi + 0x2cf8], 0x42
call fcn.00485126
mov ebx, dword [esi + 0x940]
cmp ebx, 0x30
jne 0x48f646
mov eax, dword [esi + 0x944]
test eax, eax
mov dword [esi + 0xe00], eax
jne 0x492ace
lea edx, [esi + 0x270]
mov eax, dword [edx + 0x188]
mov eax, dword [eax]
mov ecx, dword [eax + 0x154]
mov eax, dword [eax + 0x128]
mov dword [esi + 0x30], ecx
sub esp, 0xc
and dword [esp], 0
lea ecx, [esi + 0x940]
mov dword [esp + 8], eax
call fcn.00485284
add esp, 0xc
mov ebx, dword [esi + 0x940]
cmp ebx, 0x30
jne 0x48f646
mov eax, dword [esi + 0x30]
add eax, eax
test byte [esi + 0x3b5], 1
mov dword [esi + 0x30], eax
jne 0x490188
mov eax, dword [esi + 0x3c0]
test eax, eax
je 0x490a5a
lea ecx, [eax - 1]
mov dword [esi + 0x3c0], ecx
mov edx, dword [esi + 0x3bc]
mov ecx, dword [esi + 0x3c8]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [esi + 0x3cc]
push 0x5cfcdc
mov dword [esi + 0x10], eax
push eax
call fcn.00478a1b
pop ecx
pop edx
mov eax, dword [eax]
lea edx, [esi + 0x270]
lea ecx, [esi + 0x940]
mov byte [edx + 0x28c], 0
and dword [edx + 0x184], 0
mov dword [esi + 0xc], eax
push 0
push 0
push dword [esi + 0x10]
call fcn.0048532e
add esp, 0xc
mov ebx, dword [esi + 0x940]
cmp ebx, 0x30
jne 0x48f646
push 0x2b
pop edx
mov dword [esi + 0x10], edx
mov eax, dword [esi + 0x3d8]
test eax, eax
je 0x48f339
dec eax
mov dword [esi + 0x3d8], eax
shl eax, 4
mov ecx, dword [esi + 0x3d4]
mov edi, dword [ecx + eax + 0xc]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 8]
mov dword [esi], eax
mov eax, dword [esi + 0x3f8]
mov dword [esi + 4], edi
mov ecx, dword [eax]
call fcn.0048549d
mov ecx, dword [eax]
mov ecx, dword [ecx*4 + 0x493c7c]
add ecx, dword [esi + 0x3c]
jmp ecx
lea eax, [esi + 0x950]
mov edi, dword [eax - 0xc]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [esi + 0x10], ecx
mov dword [esi], edx
push 0x30
push eax
lea eax, [esi + 0x21a8]
push eax
call fcn.0058a110
add esp, 0xc
mov dword [esi + 8], ebx
jmp 0x48ecd7
lea ecx, [esi + 0x270]
mov byte [esi + 0x56], 0
mov byte [esi + 0x57], 1
mov dword [esi + 0x2cf8], 0x3c
call fcn.0048763e
push 0x148
lea edi, [esi + 0x270]
push edi
lea ebx, [esi + 0x1088]
push ebx
call fcn.0058a110
add esp, 0xc
mov ebx, 0x288
push ebx
lea eax, [esi + 0x1470]
push eax
push edi
call fcn.0058a110
add esp, 0xc
add edi, ebx
push ebx
lea eax, [esi + 0xe00]
push eax
push edi
call fcn.0058a110
add esp, 0xc
lea ecx, [esi + 0x1088]
mov dword [esi + 0x2cf8], 0x3d
call fcn.00487707
lea eax, [esi + 0x27c]
mov ecx, dword [eax - 0xc]
mov dword [esi + 0x18], ecx
mov ecx, dword [eax - 8]
mov dword [esi], ecx
mov ecx, dword [eax - 4]
mov dword [esi + 0x20], ecx
lea ecx, [esi + 0x198]
push 0x44
push eax
push ecx
call fcn.0058a110
add esp, 0xc
lea eax, [esi + 0x2c0]
push 0x4c0
push eax
lea eax, [esi + 0x940]
push eax
call fcn.0058a110
add esp, 0xc
lea eax, [esi + 0x180]
mov dword [esi + 0x2cf8], 0x37
push eax
call fcn.0047b0e6
pop eax
jmp 0x48f753
mov dword [esi], 0
push 2
pop eax
mov dword [esi + 0x18], eax
lea eax, [esi + 0xa0]
mov dword [esi + 0x2cf8], 0x36
push eax
call fcn.0047b0f5
pop eax
lea eax, [esi + 0x198]
push 0x44
push eax
lea edi, [esi + 0xe00]
push edi
call fcn.0058a110
add esp, 0xc
push 0x4c0
lea eax, [esi + 0x940]
push eax
lea ebx, [esi + 0x270]
push ebx
call fcn.0058a110
mov ecx, edi
add esp, 0xc
lea edi, [esi + 0x21a8]
lea eax, [esi + 0x228]
push 0x44
push ecx
push eax
call fcn.0058a110
add esp, 0xc
push 0x4c0
push ebx
push edi
call fcn.0058a110
add esp, 0xc
lea eax, [esi + 0x228]
lea ecx, [esi + 0x1e0]
push 0x44
push eax
push ecx
call fcn.0058a110
add esp, 0xc
lea ebx, [esi + 0x1850]
push 0x4c0
push edi
push ebx
call fcn.0058a110
add esp, 0xc
movsd xmm1, qword [esi + 0x78]
movsd xmm0, qword [esi + 0x70]
mov eax, dword [esi + 0x64]
movsd xmm2, qword [esi + 0xd0]
lea ecx, [esi + 0x16f8]
movsd qword [ebx + 0x4c8], xmm1
movsd xmm1, qword [esi + 0xd8]
movsd qword [ebx + 0x4c0], xmm0
mov dword [esi + 8], eax
movsd qword [ebx + 0x4d0], xmm2
movsd xmm2, qword [esi + 0xb0]
mov eax, dword [esi + 0xc8]
movsd qword [ebx + 0x4d8], xmm1
movsd xmm1, qword [esi + 0xe0]
movsd qword [ebx + 0x4e0], xmm1
movsd xmm1, qword [esi + 0xb8]
mov dword [ebx + 0x500], eax
movsd qword [ebx + 0x4e8], xmm2
lea eax, [esi + 0x1d54]
movsd qword [ebx + 0x4f0], xmm1
movsd xmm1, qword [esi + 0xc0]
movsd qword [ebx + 0x4f8], xmm1
push 0x13c
push ecx
push eax
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x18]
mov ecx, dword [esi]
xor eax, 3
or eax, ecx
jne 0x48f90b
lea eax, [esi + 0x1e0]
lea edx, [esi + 0x8f8]
push 0x44
pop edi
push edi
push eax
push edx
call fcn.0058a110
add esp, 0xc
mov ebx, dword [esi + 0x60]
lea eax, [ebx + 4]
push edi
lea ecx, [esi + 0x8f8]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x20]
or dword [esi + 0x2cf8], 0xffffffff
mov dword [ebx], eax
or dword [esi + 0x2cf8], 0xffffffff
lea eax, [esi + 0x80]
push eax
call fcn.0047b0f5
pop eax
mov eax, dword [esi + 0x2cf0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esi + 0x8f8]
mov edi, ebx
push 0x44
pop ebx
push ebx
lea eax, [esi + 0x1e0]
push eax
push ecx
call fcn.0058a110
add esp, 0xc
lea eax, [esi + 0x2668]
push 0x640
push edi
push eax
call fcn.0058a110
add esp, 0xc
lea edi, [esi + 0x8b4]
push ebx
lea eax, [esi + 0x8f8]
push eax
push edi
call fcn.0058a110
mov ecx, dword [esi]
add esp, 0xc
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 0x58]
test byte [edx + 0x20], 2
jne 0x48faa4
mov eax, dword [esi + 0x18]
mov dword [esi + 0xc], edx
lea edx, [esi + 0x185c]
mov dword [edx - 8], ecx
mov dword [edx - 0xc], eax
mov eax, dword [esi + 0x20]
mov dword [edx - 4], eax
push 0x44
push edi
push edx
call fcn.0058a110
add esp, 0xc
lea edi, [esi + 0x18a0]
push 0x640
lea ebx, [esi + 0x2668]
push ebx
push edi
call fcn.0058a110
add esp, 0xc
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 4]
mov dword [edi + 0x640], ecx
mov dword [edi + 0x644], eax
mov dword [edi + 0x648], edx
mov byte [edi + 0x64c], 0
cmp byte [ecx + 0x44], 0
je 0x48fb99
mov eax, dword [esi + 0xc]
test byte [eax + 0x1c], 1
jne 0x48fb65
mov eax, dword [esi + 0x18]
xor eax, 2
or eax, dword [esi]
je 0x48fb65
test byte [esi + 0x1d6c], 1
jne 0x48fb65
mov al, byte [ecx + 0x42]
cmp al, 2
sete cl
or cl, al
mov byte [esi + 0x28], cl
lea ecx, [esi + 0x940]
push 0xa
pop eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x64
mov dword [ecx + 0xc], 0xfa
mov byte [ecx + 0x10], 1
lea ecx, [esi + 0xe00]
mov edx, dword [ebp + 8]
and dword [ecx], 0
mov dword [ecx + 4], 4
and dword [ecx + 8], 0
mov ecx, dword [ebp + 0xc]
mov edi, edx
lea ecx, [edx + ecx*4]
mov dword [esi + 0x24], ecx
lea ecx, [esi + 0x21a8]
cmp edi, dword [esi + 0x24]
je 0x48fe80
mov eax, dword [edi]
mov dword [esi + 0xc], edi
mov dword [esi + 0x2cf8], 0x2b
lea edx, [esi + 0x940]
push eax
call fcn.004c4a3c
pop eax
lea ecx, [esi + 0xe00]
lea edx, [esi + 0x21a8]
mov dword [esi + 0x2cf8], 0x2c
call fcn.004979f4
mov edi, dword [esi + 0xc]
lea ebx, [esi + 0x21a8]
mov ecx, ebx
add edi, 4
call fcn.00494c9f
mov ecx, ebx
jmp 0x48fa4d
test byte [edx + 0x1c], 1
jne 0x48f965
mov eax, dword [esi + 0x18]
xor eax, 2
or eax, ecx
je 0x48f965
lea eax, [esi + 0x1864]
push 0x44
push edi
push eax
mov ebx, ecx
call fcn.0058a110
add esp, 0xc
lea edi, [esi + 0x18a8]
push 0x640
lea eax, [esi + 0x2668]
push eax
push edi
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x18]
mov dword [edi - 0x4c], ebx
mov dword [esi + 0x2cf8], 0x2d
mov dword [edi - 0x50], eax
mov eax, dword [esi + 0x20]
mov dword [edi - 0x48], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x640], eax
mov eax, dword [esi + 8]
mov dword [edi + 0x644], eax
mov eax, dword [esi + 4]
mov dword [edi + 0x648], eax
xor eax, eax
mov byte [edi + 0x64c], 0
inc eax
mov dword [edi - 0x58], eax
mov dword [edi - 0x54], eax
push 8
pop edx
mov ecx, 0x6a8
call fcn.0042029e
mov edi, eax
push 0x6a8
lea eax, [esi + 0x1850]
push eax
push edi
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x60]
mov dword [eax + 4], edi
mov dword [eax + 8], 0x5d0c54
jmp 0x49003a
lea eax, [esi + 0xe8]
push 0x44
lea ecx, [esi + 0x8b4]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
push 0x640
push ebx
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
mov al, 1
mov dword [esi + 0xc], eax
jmp 0x48fbcd
lea eax, [esi + 0xe8]
push 0x44
lea ecx, [esi + 0x8b4]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
push 0x640
push ebx
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
mov dword [esi + 0xc], 0
mov edi, ebx
lea eax, [esi + 0xe8]
push 0x44
pop ebx
push ebx
push eax
lea ebx, [esi + 0x8b4]
push ebx
call fcn.0058a110
add esp, 0xc
mov eax, 0x640
push eax
lea eax, [esi + 0x270]
push eax
push edi
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi]
mov dword [esi + 0x1854], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x1850], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x1858], eax
push 0x44
pop eax
push eax
push ebx
lea eax, [esi + 0x185c]
push eax
call fcn.0058a110
add esp, 0xc
mov eax, 0x640
push eax
push edi
lea ebx, [esi + 0x18a0]
push ebx
call fcn.0058a110
add esp, 0xc
mov ecx, dword [esi + 0x10]
cmp byte [esi + 0xc], 0
mov eax, dword [esi + 8]
mov edx, dword [esi + 4]
mov dword [esi + 0x1ee0], ecx
mov dword [esi + 0x1ee4], eax
mov dword [esi + 0x1ee8], edx
mov byte [esi + 0x1eec], 0
je 0x48fc76
mov al, byte [ecx + 0x42]
cmp al, 2
je 0x48fc89
and al, 1
jne 0x48fc89
lea eax, [esi + 0x1470]
push 0x44
lea ecx, [esi + 0x8b4]
jmp 0x48ff0b
mov eax, dword [ecx + 0x58]
lea ecx, [esi + 0x8b4]
test byte [eax + 0x1c], 1
jne 0x48ff03
mov eax, dword [esi + 0x18]
xor eax, 2
or eax, dword [esi]
jne 0x48fea6
lea eax, [esi + 0x1470]
push 0x44
push ecx
push eax
call fcn.0058a110
add esp, 0xc
push 0x640
push edi
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x1ee8]
mov dword [esi], 0
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x1eec]
mov dword [esi + 4], eax
shr eax, 8
mov dword [esi + 0xc], eax
push 2
pop eax
mov dword [esi + 0x18], eax
jmp 0x48ff42
cmp byte [eax + 0x32], 0
je 0x48e020
mov eax, dword [esi + 0x10]
mov al, byte [eax + 0x42]
cmp al, 2
je 0x48fd16
and al, 1
je 0x48e020
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp dword [eax], 7
jne 0x48e020
lea ecx, [esi + 0x2668]
xor edx, edx
and dword [ecx], 0
mov dword [ecx + 4], 4
and dword [ecx + 8], 0
mov edi, dword [eax + 8]
imul eax, dword [eax + 0xc], 0x1c
add eax, edi
mov dword [esi + 0xc], eax
push 4
pop ecx
cmp edi, dword [esi + 0xc]
je 0x4902db
and dword [esi + 0x270], 0
mov dword [esi + 0x274], 1
mov dword [esi + 0xe00], edi
and dword [esi + 0x278], 0
mov dword [esi + 4], ecx
mov dword [esi + 8], edi
mov dword [esi + 0x18], edx
mov eax, dword [edi]
cmp eax, 6
je 0x48fdfe
cmp eax, 1
jne 0x492a79
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
mov byte [esi + 0x43], 1
mov dword [esi + 0x2cf8], 8
lea ecx, [esi + 0x270]
add eax, edx
push eax
call fcn.004ac959
pop eax
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x270]
mov ecx, dword [esi + 0x278]
mov ebx, dword [esi + 0x274]
cmp edx, dword [esi + 0x2668]
mov dword [esi + 0x20], eax
mov dword [esi], ecx
jne 0x48fe52
lea ecx, [esi + 0x2668]
mov dword [esi + 4], ebx
mov dword [esi + 0x2cf8], 9
call fcn.00406666
mov ecx, dword [esi + 0x266c]
mov edx, dword [esi + 0x2670]
mov edi, dword [esi + 8]
mov ebx, dword [esi + 4]
jmp 0x48fe58
mov eax, dword [edi + 8]
imul ecx, dword [edi + 0xc], 0x1c
add ecx, eax
mov dword [esi], ecx
cmp eax, dword [esi]
je 0x48fdaf
mov dword [esi + 0x21a8], eax
cmp dword [eax], 1
mov dword [esi + 0x2cf8], 8
jne 0x49270b
mov dword [esi + 0x20], eax
mov edx, dword [eax + 4]
lea ecx, [esi + 0x270]
mov eax, dword [esi + 0x20]
mov eax, dword [eax + 8]
mov byte [esi + 0x43], 1
add eax, edx
push eax
call fcn.004ac959
mov eax, dword [esi + 0x20]
add esp, 4
mov edx, dword [esi + 0x18]
add eax, 0x1c
jmp 0x48fe09
mov ecx, dword [esi + 4]
mov edi, dword [esi + 8]
imul eax, edx, 0xc
mov edx, dword [esi + 0x20]
add edi, 0x1c
mov dword [ecx + eax], edx
mov edx, dword [esi]
mov dword [ecx + eax + 4], ebx
mov dword [ecx + eax + 8], edx
mov edx, dword [esi + 0x2670]
inc edx
mov dword [esi + 0x2670], edx
jmp 0x48fd49
test byte [esi + 0x28], 1
mov dword [esi + 0x2cf8], 0x2b
je 0x490045
lea ecx, [esi + 0xe00]
xor edx, edx
call fcn.004c5e04
jmp 0x49005b
test byte [esi + 0x1d6c], 1
jne 0x48ff03
cmp dword [ebp + 0xc], 1
jne 0x48feda
mov eax, dword [ebp + 8]
mov edx, dword [esi + 0x3c]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx*4 + 0x493ca0]
add ecx, edx
jmp ecx
mov eax, dword [esi + 0x1858]
mov dword [esi + 0x20], eax
lea eax, [esi + 0x1470]
push 0x44
lea ecx, [esi + 0x185c]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
push 0x640
push ebx
jmp 0x48ff1b
lea eax, [esi + 0x1470]
push 0x44
push ecx
push eax
call fcn.0058a110
add esp, 0xc
push 0x640
push edi
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x1ee8]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x1eec]
mov dword [esi + 4], eax
shr eax, 8
mov dword [esi + 0xc], eax
mov dword [esi + 0x2cf8], 0x14
lea eax, [esi + 0x1470]
push 0x44
pop ebx
push ebx
push eax
lea ebx, [esi + 0x8b4]
push ebx
call fcn.0058a110
add esp, 0xc
mov eax, 0x640
push eax
lea eax, [esi + 0x270]
push eax
lea edi, [esi + 0x2668]
push edi
call fcn.0058a110
add esp, 0xc
lea eax, [esi + 0x1864]
push 0x44
pop ecx
push ecx
push ebx
push eax
call fcn.0058a110
add esp, 0xc
mov eax, 0x640
lea ebx, [esi + 0x18a8]
push eax
push edi
push ebx
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x2cf8], 0x14
mov dword [ebx - 0x4c], eax
mov eax, dword [esi + 0x18]
mov dword [ebx - 0x50], eax
mov eax, dword [esi + 0x20]
mov dword [ebx - 0x48], eax
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x640], eax
mov eax, dword [esi + 8]
mov dword [ebx + 0x644], eax
mov eax, dword [esi + 0x3c]
mov dword [ebx + 0x648], eax
mov eax, dword [esi + 4]
mov byte [ebx + 0x64c], al
mov eax, ecx
mov word [ebx + 0x64d], cx
shr eax, 0x10
mov byte [ebx + 0x64f], al
xor eax, eax
inc eax
mov dword [ebx - 0x58], eax
mov dword [ebx - 0x54], eax
push 8
pop edx
mov ecx, 0x6a8
call fcn.0042029e
mov edi, eax
push 0x6a8
lea eax, [esi + 0x1850]
push eax
push edi
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x60]
mov dword [eax + 4], edi
mov dword [eax + 8], 0x5d0d50
mov dword [eax], 2
jmp 0x48f8e3
lea ecx, [esi + 0xe00]
call fcn.0049733a
lea ecx, [esi + 0xe00]
call fcn.004979e7
movsd xmm0, qword [esi + 0xe00]
mov eax, dword [esi + 0xe08]
movsd qword [esi + 0x8f8], xmm0
mov dword [esi + 0x900], eax
cmp dword [esi + 0x8f8], 0x80000000
je 0x492125
mov ecx, dword [esi + 0x900]
test ecx, ecx
je 0x492125
mov edx, dword [esi + 0x8fc]
shl ecx, 4
mov eax, dword [edx + 4]
add ecx, edx
mov dword [esi + 0x24], edx
mov dword [esi + 0x38], ecx
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], eax
mov eax, dword [edx + 8]
xor edx, edx
mov dword [esi + 0x50], eax
test dl, 1
je 0x4900d3
mov ebx, dword [esi + 0x24]
mov dword [esi + 0x2cf8], 0x26
cmp ebx, dword [esi + 0x38]
jne 0x4900f5
jmp 0x4902fd
mov edx, dword [esi + 0x38]
mov ebx, dword [esi + 0x24]
mov dword [esi + 0x2cf8], 0x26
sub edx, ebx
shr edx, 4
cmp edx, ecx
jbe 0x4902fd
shl ecx, 4
add ebx, ecx
mov ecx, dword [ebx + 4]
mov edi, dword [esi + 0x50]
mov edx, dword [esi + 0x5c]
mov dword [esi + 0x24], ebx
mov dword [esi + 0xc], ecx
mov ecx, edi
sub ecx, eax
mov eax, dword [ebx + 8]
mov byte [esi + 0x17], 1
mov dword [esi + 0x28], eax
push 0x5d606c
push edi
call fcn.004fa4bc
pop ecx
pop edi
mov edi, dword [esi + 0x28]
add dword [esi + 0x24], 0x10
mov ebx, edx
xor edx, edx
mov dword [esi + 0x30], ebx
test edi, edi
je 0x490147
test ebx, ebx
je 0x49014c
mov ecx, dword [esi + 0xc]
mov cl, byte [ecx + edi - 1]
cmp cl, byte [eax + ebx - 1]
jne 0x490151
inc edx
dec ebx
dec edi
jmp 0x49012d
mov eax, dword [esi + 0x28]
jmp 0x490153
mov eax, dword [esi + 0x30]
jmp 0x490153
mov eax, edx
xor ecx, ecx
mov dl, 1
test eax, eax
lea edi, [esi + 0x2668]
lea ebx, [esi + 0x8b4]
jne 0x4900b7
lea eax, [esi + 0xe8]
push 0x44
push ebx
push eax
call fcn.0058a110
add esp, 0xc
push 0x640
push edi
jmp 0x492149
mov eax, dword [esi + 0x3f8]
mov ecx, dword [eax]
call fcn.00485320
mov dword [esi + 4], eax
xor edx, edx
cmp edx, dword [esi + 4]
jae 0x48f339
mov eax, dword [esi + 0x3f8]
xor ecx, ecx
mov eax, dword [eax]
cmp dword [eax + 0x154], edx
jbe 0x4901c3
mov eax, dword [eax + 0x150]
xor ecx, ecx
inc ecx
mov eax, dword [eax + edx*4]
mov dword [esi], eax
mov dword [esi + 0x10], edx
mov edx, 0x5cfd18
call fcn.004af3e6
lea ecx, [esi + 0x940]
lea edx, [esi + 0x270]
push dword [esi]
push dword [esi + 0x10]
push 1
call fcn.00485284
add esp, 0xc
mov ebx, dword [esi + 0x940]
cmp ebx, 0x30
jne 0x48f646
mov edx, dword [esi + 0x10]
inc edx
jmp 0x49019a
push 0x190
lea eax, [esi + 0x1850]
push eax
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
mov ecx, 0x80000000
lea eax, [esi + 0x274]
xor ecx, dword [eax - 4]
cmp ecx, 7
push 4
pop eax
cmovae ecx, eax
mov eax, dword [ecx*4 + 0x493c48]
mov dword [esi + 0x20], ecx
add eax, dword [esi + 0x3c]
jmp eax
cmp edx, 0xbb7
ja 0x490358
lea ecx, [esi + 0x2668]
call fcn.00479031
mov dword [esi + 0x2cf8], 2
jmp 0x48e020
mov edi, dword [esi + 0x50]
mov edx, dword [esi + 0x5c]
mov byte [esi + 0x17], 1
mov ecx, edi
sub ecx, eax
push 0x5d605c
push edi
call fcn.004fa4bc
pop ecx
pop edi
test eax, eax
je 0x492125
test edx, edx
lea edi, [esi + 0x2668]
lea ebx, [esi + 0x8b4]
je 0x49016b
cmp edx, 1
mov dword [esi + 0xb0], eax
mov dword [esi + 0xb4], edx
mov dword [esi + 0xc], edx
jne 0x4905f9
mov al, byte [eax]
mov edi, 0x80000000
jmp 0x491434
mov eax, dword [esi + 0x2668]
cmp eax, 0x80000000
je 0x48e020
mov ebx, dword [esi + 0x2670]
mov dword [esi + 0x11e8], eax
xor eax, eax
lea edx, [esi + 0xe1c]
cmp ebx, 0x1f5
adc al, 1
xor edi, edi
inc edi
mov dword [edx + 4], edi
push 3
pop ecx
mov dword [edx], ecx
mov dword [edx - 0x1c], 2
mov dword [edx - 0x14], edi
mov dword [edx - 0x18], ecx
mov byte [edx - 0x10], 1
mov dword [esi + 0x24], edi
mov dword [edx - 8], edi
mov edi, dword [esi + 0x266c]
mov dword [edx - 0xc], ecx
mov dword [esi + 0x2cf8], ecx
lea ecx, [esi + 0x270]
mov byte [edx + 8], al
mov word [edx - 4], 0x100
mov dword [esi + 0x28], ebx
mov dword [esi + 0x11f0], ebx
mov byte [edx + 9], 0
mov dword [esi + 0xc], edi
mov dword [esi + 0x11ec], edi
call fcn.0040fb5f
mov eax, dword [esi + 0x270]
mov edi, dword [esi + 0x414]
movzx edx, word [esi + 0x27e]
mov ebx, dword [esi + 0x278]
mov cl, byte [esi + 0x27d]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x274]
cmp edi, 0x80000000
mov dword [esi], edx
mov dword [esi + 0x18], eax
mov al, byte [esi + 0x27c]
jne 0x490ecb
mov edi, dword [esi + 0x18]
mov dword [esi + 0xc], eax
jmp 0x4916d7
mov dword [esi + 0x28], eax
mov eax, edx
mov byte [esi + 0x17], 1
lea ecx, [esi + 0xe00]
mov edx, dword [esi + 0x28]
push eax
call fcn.004a9c8c
pop eax
lea ecx, [esi + 0x940]
lea edx, [esi + 0xe00]
mov byte [esi + 0x17], 1
call fcn.004aa06d
lea edi, [esi + 0x11e8]
push 0x48
lea ebx, [esi + 0x940]
push ebx
push edi
call fcn.0058a110
add esp, 0xc
cmp dword [edi + 0x38], 2
jne 0x49140b
lea edi, [esi + 0x11e8]
mov ecx, edi
call fcn.004a9c5d
lea edx, [esi + 0x1470]
lea ecx, [esi + 0x11e8]
mov byte [edx + 4], 2
mov dword [edx], 0x2020100
call fcn.0040fd67
xor ebx, ebx
cmp ebx, 1
je 0x49162a
inc ebx
cmp byte [esi + 0x1211], 0
jne 0x490673
cmp dword [esi + 0x11f0], 0x80
jb 0x4906a2
mov ecx, edi
mov byte [esi + 0x1211], 1
call fcn.00412a09
jmp 0x490673
mov edx, dword [esi + 0x28]
mov dword [esi + 0x2cf8], 0x2a
mov ecx, edi
push dword [esi + 0xc]
mov dword [esi + 0x24], ebx
call fcn.00412a29
mov ebx, dword [esi + 0x24]
lea edi, [esi + 0x11e8]
add esp, 4
jmp 0x490673
lea ecx, [esi + 0x1470]
call fcn.00494c9f
jmp 0x48f8f7
mov eax, dword [esi + 0x284]
mov cl, byte [esi + 0x3a0]
shr eax, cl
mov ecx, eax
mov dword [esi + 0x28], eax
call fcn.00484039
lea ecx, [esi + 0x940]
mov dword [esi + 0x2cf8], 0x46
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [esi + 0x28]
and dword [ecx + 8], 0
call fcn.00477152
mov ecx, dword [esi + 0x944]
mov edi, dword [esi + 0x948]
mov edx, dword [esi + 0x28]
xor eax, eax
cmp edx, eax
je 0x490aaf
mov dword [ecx + edi*4], eax
inc eax
inc edi
jmp 0x490aa4
mov eax, dword [esi + 0x940]
mov dword [esi + 0x30], ecx
xor ecx, ecx
test edx, edx
mov edx, 0x5cffa8
mov dword [esi + 0x10], edi
mov byte [esi + 0x2f], 1
mov dword [esi + 0x2cf8], 0x43
setne cl
mov dword [esi + 0x5c], eax
call fcn.004af3e6
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x30]
mov edi, dword [esi + 0x10]
mov ebx, eax
mov dword [esi + 0xc], eax
dec eax
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
sub ebx, 1
jb 0x490c03
mov ecx, ebx
mov byte [esi + 0x2f], 1
mov dword [esi + 0x2cf8], 0x43
mov dword [esi], ebx
call fcn.0047d30c
mov edx, dword [esi]
lea ecx, [esi + 0x270]
mov byte [esi + 0x2f], 1
call fcn.0047d340
shr edx, 0xa
mov edi, dword [esi + 0x10]
mov ebx, dword [esi]
mov eax, dword [esi + 8]
cmp edx, 0x3ffffe
mov edx, dword [esi + 0x30]
ja 0x490aef
mov ecx, dword [esi + 4]
cmp dword [esi + 0xc], ecx
je 0x490bcf
mov edx, dword [esi + 0x280]
mov ecx, dword [esi + 0x3a0]
mov edi, ebx
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x284]
and ecx, 0x1f
shl eax, cl
shl edi, cl
mov dword [esi + 4], edx
xor edx, edx
mov ebx, edx
shr edx, cl
test edx, edx
jne 0x490ba1
mov edx, dword [esi + 4]
cmp eax, edx
jae 0x4926cb
cmp edi, edx
jae 0x4926eb
mov edx, dword [esi + 0xc]
movsd xmm0, qword [edx + eax*8]
movsd xmm1, qword [edx + edi*8]
movsd qword [edx + eax*8], xmm1
movsd qword [edx + edi*8], xmm0
mov edx, ebx
inc edi
inc eax
inc edx
jmp 0x490b68
mov edi, dword [esi + 0x10]
cmp dword [esi + 8], edi
jae 0x492a34
mov ebx, dword [esi]
cmp ebx, edi
jae 0x492a57
mov edx, dword [esi + 0x30]
mov eax, dword [esi + 8]
mov ecx, dword [edx + eax*4]
mov dword [esi + 4], ecx
mov ecx, dword [edx + ebx*4]
mov dword [edx + eax*4], ecx
mov ecx, dword [esi + 4]
mov dword [edx + ebx*4], ecx
test eax, eax
mov dword [esi + 0x298], eax
jne 0x490ae8
mov byte [esi + 0x2f], 1
mov dword [esi + 0x2cf8], 0x43
push 0x34
pop edx
mov ecx, 0x5cfd56
push 0x5cfd8c
call fcn.0059a5e0
pop eax
jmp 0x492ddd
mov eax, dword [esi + 0x5c]
mov ecx, edi
mov dword [esi + 0x2cf8], 0x44
mov dword [esi + 0x940], eax
mov dword [esi + 0x944], edx
mov dword [esi + 0x948], edi
and dword [esi + 0x94c], 0
call fcn.00484039
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x10]
lea eax, [eax*4]
push eax
push dword [esi + 0x30]
mov dword [esi + 0x24], edx
push edx
call fcn.0058a110
add esp, 0xc
xor ecx, ecx
cmp ecx, dword [esi + 0x28]
jae 0x490ce4
mov eax, ecx
mov ecx, dword [esi + 0x94c]
mov dword [esi + 0x2cf8], 0x45
mov edx, eax
and ecx, 0x1f
mov dword [esi + 8], ecx
shl edx, cl
mov ecx, dword [esi + 0x24]
mov dword [esi], edx
mov edx, dword [esi + 0x10]
push 0x5d01ec
mov dword [esi + 0xc], eax
push eax
call fcn.00478a1b
pop ecx
pop edx
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
cmp dword [esi], eax
lea ecx, [ecx + 1]
je 0x490c4f
mov dword [esi + 0x38], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 4], eax
shr eax, cl
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x10]
push 0x5d01fc
push eax
call fcn.00478a1b
pop ecx
pop edx
mov eax, dword [eax]
cmp dword [esi], eax
jne 0x490c9b
mov ecx, dword [esi + 0x944]
mov edx, dword [esi + 0x948]
push 0x5d020c
push dword [esi + 0xc]
call fcn.00478a1b
pop ecx
pop edx
mov ecx, dword [esi + 4]
mov dword [eax], ecx
mov ecx, dword [esi + 0x38]
jmp 0x490c4f
mov ecx, dword [esi + 0x3a0]
mov eax, dword [esi + 0x284]
mov edx, dword [esi + 0x39c]
and ecx, 0x1f
mov dword [esi + 4], edx
mov dword [esi + 0x50], ecx
shr eax, cl
mov dword [esi + 0x38], eax
xor eax, eax
cmp eax, dword [esi + 0x38]
je 0x490db5
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x28], eax
shl eax, cl
mov dword [esi + 0xc], eax
xor ecx, ecx
cmp ecx, dword [esi + 4]
je 0x490dac
mov eax, dword [esi + 0xc]
mov dword [esi], ecx
mov edx, dword [esi + 0x284]
mov dword [esi + 0x2cf8], 0x45
add eax, ecx
mov ecx, dword [esi + 0x280]
push 0x5cffe8
mov dword [esi + 0x10], eax
push eax
call fcn.00406504
pop ecx
pop edx
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x280]
mov edx, dword [esi + 0x284]
mov dword [esi + 8], eax
push 0x5cfff8
push dword [esi + 0x10]
call fcn.00406504
pop ecx
pop edx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 8]
lea ecx, [esi + 0x940]
lea edx, [esi + 0x94c]
shr eax, 0xb
push eax
call fcn.00485795
pop ecx
mov edi, dword [esi + 0x10]
mov edx, 0x7ff
shl eax, 0xb
mov ecx, dword [edi + 4]
and ecx, edx
or ecx, eax
mov dword [edi + 4], ecx
mov ecx, dword [esi]
inc ecx
jmp 0x490d1c
mov eax, dword [esi + 0x28]
inc eax
jmp 0x490d06
mov eax, dword [esi + 0x290]
xor edi, edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 8]
je 0x490e26
mov ecx, dword [esi + 0x28c]
mov edx, dword [esi + 0x290]
mov dword [esi + 0x2cf8], 0x45
push 0x5cffc8
mov dword [esi + 0x10], edi
push edi
call fcn.00478a1b
pop ecx
pop edx
lea ecx, [esi + 0x940]
lea edx, [esi + 0x94c]
push dword [eax]
call fcn.00485795
pop ecx
mov dword [esi], eax
mov ecx, dword [esi + 0x28c]
mov edx, dword [esi + 0x290]
push 0x5cffd8
push dword [esi + 0x10]
call fcn.00478a1b
pop ecx
pop edx
mov edi, dword [esi + 0x10]
mov ecx, dword [esi]
inc edi
mov dword [eax], ecx
jmp 0x490dc0
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x24]
call fcn.004257e7
mov ecx, dword [esi + 0x940]
mov edx, dword [esi + 0x944]
call fcn.004257e7
mov eax, dword [esi + 0x270]
mov edi, dword [esi + 0x278]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x274]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x27c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x280]
mov dword [esi], eax
push 0x128
lea eax, [esi + 0x284]
push eax
lea eax, [esi + 0x21a8]
push eax
call fcn.0058a110
add esp, 0xc
mov ecx, dword [esi + 0x3b8]
mov edx, dword [esi + 0x3bc]
call fcn.004257e7
mov ecx, dword [esi + 0x3c4]
mov edx, dword [esi + 0x3c8]
call fcn.004257e7
mov ecx, dword [esi + 0x3d0]
mov edx, dword [esi + 0x3d4]
call fcn.004278eb
lea ecx, [esi + 0x3dc]
call fcn.00534be5
mov bl, 1
jmp 0x48ece4
mov dword [esi + 0x30], edi
lea edi, [esi + 0x288]
mov dword [esi + 8], ebx
mov ebx, dword [edi - 8]
mov edi, dword [edi - 4]
mov dword [esi + 0x38], ebx
mov dword [esi + 0x50], edi
lea ebx, [esi + 0x1868]
push 0x18c
lea edi, [esi + 0x288]
push edi
push ebx
mov edi, eax
mov dword [esi + 4], ecx
call fcn.0058a110
add esp, 0xc
mov eax, 0x1a8
lea edx, [esi + 0x270]
lea ecx, [esi + 0x1850]
add edx, eax
add ecx, eax
push 0x160
push edx
push ecx
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x2cf8], 5
mov dword [ebx - 0x18], eax
mov eax, dword [esi + 0x18]
mov dword [ebx - 0x14], eax
mov eax, dword [esi + 8]
mov dword [ebx - 0x10], eax
mov eax, edi
mov byte [ebx - 0xc], al
mov eax, dword [esi + 4]
mov byte [ebx - 0xb], al
mov eax, dword [esi]
mov word [ebx - 0xa], ax
mov dword [ebx - 4], edx
mov edx, dword [esi + 0x30]
mov dword [ebx - 8], ecx
lea ecx, [esi + 0x288]
mov byte [ecx - 0x18], 0
and dword [ecx - 0x17], 0
and dword [ecx - 0x13], 0
lea ecx, [esi + 0x1a00]
mov dword [ebx + 0x18c], edx
lea edx, [esi + 0x270]
call fcn.00478de2
lea ecx, [esi + 0x1a18]
call fcn.00478e8d
lea ecx, [esi + 0x1a0c]
call fcn.00478eb3
lea edx, [esi + 0x19f4]
lea ecx, [esi + 0x270]
push 0
call fcn.0040faa5
pop eax
mov eax, dword [esi + 0x270]
cmp eax, 3
jne 0x491689
lea ecx, [esi + 0x270]
lea edx, [esi + 0x19f4]
push 0
call fcn.0040faa5
pop eax
mov eax, dword [esi + 0x270]
cmp eax, 3
mov dword [esi + 0x20], eax
jne 0x49168c
lea ecx, [esi + 0x270]
lea edx, [esi + 0x19f4]
push 0
call fcn.0040faa5
pop eax
mov eax, dword [esi + 0x270]
cmp eax, 3
mov dword [esi + 0x20], eax
jne 0x49168c
lea ecx, [esi + 0x270]
lea edx, [esi + 0x19f4]
mov eax, dword [ecx + 4]
mov dword [esi + 0x1b4c], eax
push 0
call fcn.0040faa5
pop eax
mov eax, dword [esi + 0x270]
cmp eax, 3
mov dword [esi + 0x20], eax
jne 0x49168c
lea ecx, [esi + 0x270]
lea edx, [esi + 0x1850]
mov eax, dword [ecx + 4]
mov dword [edx + 0x300], eax
call fcn.00411351
mov eax, dword [esi + 0x270]
cmp eax, 3
mov dword [esi + 0x20], eax
jne 0x49168c
lea ecx, [esi + 0x270]
lea edx, [esi + 0x1850]
call fcn.00411862
mov eax, dword [esi + 0x270]
cmp eax, 3
mov dword [esi + 0x20], eax
jne 0x49168c
imul eax, dword [esi + 0x28], 0xc
mov dword [esi + 0x5c], 0
add eax, dword [esi + 0xc]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0xc], eax
je 0x492756
mov edx, dword [esi + 0x5c]
lea ecx, [esi + 0x270]
mov dword [esi + 0xe8], edx
call fcn.004790b3
cmp dword [esi + 0x270], 0
jne 0x4929e2
mov eax, dword [esi + 0x274]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 8]
cmp eax, 0x7ffffffe
mov dword [esi + 8], eax
ja 0x492a02
mov ecx, dword [esi + 0x1b3c]
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 0x1a2c]
cmp ecx, edx
mov eax, dword [eax + 4]
mov dword [esi + 0x16f8], edi
mov dword [esi + 0x2cf8], 5
cmovae ecx, edx
mov dword [esi + 0x1b3c], ecx
mov ecx, dword [esi + 0x1b40]
mov dword [esi], eax
cmp ecx, edx
cmovbe ecx, edx
cmp dword [esi + 0x5c], edi
mov dword [esi + 0x1b40], ecx
jne 0x492d92
mov edx, dword [esi + 8]
lea ecx, [esi + 0x1a24]
call fcn.004790cf
mov eax, dword [esi + 0x19f0]
cmp byte [eax + 5], 0
je 0x491161
mov edx, dword [esi]
lea ecx, [esi + 0x1870]
push dword [esi + 8]
call fcn.0041496d
pop eax
mov ecx, dword [esi]
mov eax, dword [esi + 0x1b4c]
add dword [esi + 0xc], 0xc
inc dword [esi + 0x5c]
mov dword [esi + 0x38], 0
mov dword [esi + 0x50], 0
add dword [esi + 8], ecx
mov dword [esi + 0x28], eax
mov ecx, dword [esi]
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x38]
cmp ecx, dword [esi + 8]
mov dword [esi + 0x20], eax
mov dword [esi + 0x30], edx
je 0x49137a
mov eax, dword [esi]
test byte [esi + 0x50], 1
mov al, byte [eax]
mov byte [esi + 0x28], al
mov al, 1
jne 0x4911d6
mov ecx, dword [esi + 0x19f8]
mov edx, dword [esi + 0x19fc]
mov dword [esi + 0x2cf8], 5
push 0x5cf24c
push dword [esi + 0x20]
call fcn.004091f0
pop ecx
pop edx
cmp dword [eax + 8], 0
setne al
test al, al
mov dword [esi + 0x50], eax
je 0x4911ed
mov eax, dword [esi + 0x19f0]
cmp byte [eax + 4], 1
je 0x4910a0
movzx edx, byte [esi + 0x28]
lea ecx, [esi + 0x1850]
mov dword [esi + 4], edx
push edx
call fcn.00412d90
pop eax
mov eax, dword [esi + 0x19f0]
cmp byte [eax + 6], 0
je 0x49122f
mov ecx, dword [esi + 4]
call fcn.00414c33
movzx edx, al
lea ecx, [esi + 0x1850]
push edx
call fcn.00412d90
pop eax
mov dword [esi + 0x2cf8], 5
mov ecx, dword [esi + 0x19f8]
mov edx, dword [esi + 0x19fc]
mov dword [esi + 0x2cf8], 5
push 0x5cf1e4
push dword [esi + 0x20]
call fcn.004091f0
pop ecx
pop edx
mov ecx, dword [esi + 0x30]
mov eax, dword [eax + 4]
inc dword [esi]
inc ecx
test eax, eax
mov dword [esi + 0x38], ecx
je 0x49129c
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x1a14]
movzx ecx, byte [esi + ecx + 0x1a3c]
add eax, ecx
mov ecx, dword [esi + 0x1a10]
push 0x5cf1f4
push eax
call fcn.00478a1b
pop ecx
pop edx
mov ecx, eax
mov eax, dword [ecx]
cmp eax, 1
mov dword [esi + 0x28], eax
jne 0x491184
jmp 0x4912d4
mov edx, dword [esi + 0x20]
lea ecx, [esi + 0x19f4]
call fcn.00408fb9
mov bl, byte [esi + 0x28]
test edx, edx
je 0x4912d4
mov edi, dword [eax + 0x14]
cmp edi, edx
jbe 0x492a16
mov ecx, dword [eax + 0x10]
lea edi, [edx + edx*8]
mov dl, byte [ecx + edi]
cmp dl, bl
mov edx, dword [ecx + edi + 5]
jb 0x4912ad
jne 0x4912d4
add ecx, edi
inc ecx
jmp 0x49128c
mov dword [esi + 0x2cf8], 5
lea ecx, [esi + 0x270]
lea edx, [esi + 0x19f4]
push dword [esi + 0x30]
call fcn.0040faa5
pop eax
mov eax, dword [esi + 0x270]
mov ecx, dword [esi + 0x274]
cmp eax, 3
mov dword [esi + 0x28], ecx
jne 0x4913b5
lea ecx, [esi + 0x270]
lea edx, [esi + 0x19f4]
push dword [esi + 0x28]
push dword [esi + 4]
push dword [esi + 0x20]
call fcn.0040f685
add esp, 0xc
mov eax, dword [esi + 0x270]
cmp eax, 3
jne 0x4913ac
mov eax, dword [esi + 0x19f0]
cmp byte [eax + 6], 0
je 0x491184
mov ecx, dword [esi + 4]
call fcn.00414c33
movzx eax, al
lea ecx, [esi + 0x270]
lea edx, [esi + 0x19f4]
push dword [esi + 0x28]
push eax
push dword [esi + 0x20]
call fcn.0040f685
add esp, 0xc
mov eax, dword [esi + 0x270]
cmp eax, 3
je 0x491184
jmp 0x4913ac
mov dword [esi + 0x2cf8], 5
lea ecx, [esi + 0x270]
lea edx, [esi + 0x19f4]
push dword [esi + 0x18]
push dword [esi + 0x20]
call fcn.0040f98c
pop eax
pop ecx
mov eax, dword [esi + 0x270]
cmp eax, 3
je 0x4910a0
mov ecx, dword [esi + 0x274]
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x278]
mov dword [esi + 8], ecx
mov cl, byte [esi + 0x27c]
mov dword [esi + 0xc], ecx
mov cl, byte [esi + 0x27d]
mov dword [esi + 4], ecx
movzx ecx, word [esi + 0x27e]
mov edx, dword [esi + 0x28]
mov dword [esi], ecx
mov dword [esi + 0x24], eax
mov dword [esi + 0x18], edx
mov eax, dword [esi + 0x24]
mov dword [esi + 0x2cf8], 3
mov dword [esi + 0x20], eax
jmp 0x4916b9
lea eax, [esi + 0x943]
push 0x48
push edi
push eax
call fcn.0058a110
add esp, 0xc
push 0x4b
push ebx
lea eax, [esi + 0x21a8]
push eax
call fcn.0058a110
add esp, 0xc
mov edi, 0x80000003
mov dword [esi + 0x24], eax
lea ebx, [esi + 0x945]
push 0x18b
lea eax, [esi + 0x21a8]
push eax
push ebx
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x24]
mov dword [ebx - 5], edi
mov byte [esi + 0x17], 1
mov dword [esi + 0x2cf8], 0x26
lea ecx, [esi + 0x198]
lea edx, [esi + 0x940]
mov byte [ebx - 1], al
push dword [esi + 0xc]
call fcn.004a8cc4
pop eax
cmp byte [esi + 0x1a4], 2
je 0x492125
movsd xmm0, qword [esi + 0x198]
movsd xmm1, qword [esi + 0x1a0]
movsd qword [esi + 0x230], xmm1
movsd qword [esi + 0x228], xmm0
cmp byte [esi + 0x234], 0
je 0x49173f
lea eax, [esi + 0x1864]
lea edx, [esi + 0xe8]
mov ecx, dword [eax - 0xc]
mov dword [esi + 0x20], ecx
mov ecx, dword [eax - 8]
mov dword [esi + 8], ecx
mov ecx, dword [eax - 4]
mov dword [esi + 0x10], ecx
push 0x44
pop ecx
push ecx
push eax
push edx
call fcn.0058a110
add esp, 0xc
mov eax, 0x640
lea edi, [esi + 0x18a8]
push eax
push edi
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
mov eax, dword [edi + 0x644]
mov ecx, dword [esi + 0x234]
mov edx, dword [esi + 0x230]
mov ebx, dword [esi + 0x228]
mov dword [esi + 0x28], eax
mov al, byte [esi + 0x22c]
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x8f8]
mov dword [esi + 0xc], edx
mov byte [esi + 0x30], al
movzx eax, word [esi + 0x22d]
mov dword [esi + 0x3c], eax
mov al, byte [esi + 0x22f]
mov byte [esi + 0x24], al
call fcn.00494c9f
lea eax, [esi + 0x186c]
push 0x44
pop ecx
push ecx
lea ecx, [esi + 0xe8]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
mov eax, 0x640
lea edi, [esi + 0x18b0]
push eax
lea eax, [esi + 0x270]
push eax
push edi
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi]
mov dword [esi + 0x2cf8], 0x24
mov dword [edi - 0x54], eax
mov eax, dword [esi + 0x18]
mov dword [edi - 0x58], eax
mov eax, dword [esi + 8]
mov dword [edi - 0x4c], eax
mov eax, dword [esi + 0x20]
mov dword [edi - 0x50], eax
mov eax, dword [esi + 0x10]
mov dword [edi - 0x48], eax
mov eax, dword [esi + 4]
mov dword [edi + 0x640], eax
mov eax, dword [esi + 0x28]
mov dword [edi + 0x644], eax
mov al, byte [esi + 0x30]
mov dword [edi + 0x648], ebx
mov byte [edi + 0x64c], al
mov eax, dword [esi + 0x3c]
mov word [edi + 0x64d], ax
mov al, byte [esi + 0x24]
mov byte [edi + 0x64f], al
mov eax, dword [esi + 0x38]
mov dword [edi + 0x654], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x650], eax
xor eax, eax
inc eax
mov dword [edi - 0x60], eax
mov dword [edi - 0x5c], eax
push 8
pop edx
mov ecx, 0x6b8
call fcn.0042029e
mov edi, eax
push 0x6b8
lea eax, [esi + 0x1850]
push eax
push edi
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x60]
mov dword [eax + 4], edi
mov dword [eax + 8], 0x5d0ca8
jmp 0x49003a
lea ecx, [esi + 0xe00]
lea edx, [esi + 0x11e8]
mov dword [esi + 0x2cf8], 0x2a
call fcn.004118b1
mov edi, dword [esi + 0xe00]
cmp edi, 0x80000000
jne 0x491788
lea ecx, [esi + 0x11e8]
mov dword [esi + 0x940], 0x80000000
mov byte [esi + 0x17], 1
mov dword [esi + 0x2cf8], 0x26
call fcn.0047901c
jmp 0x4919ec
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x274]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x278]
mov dword [esi + 8], eax
mov al, byte [esi + 0x27c]
mov dword [esi + 0xc], eax
mov al, byte [esi + 0x27d]
mov dword [esi + 4], eax
movzx eax, word [esi + 0x27e]
mov dword [esi], eax
lea ecx, [esi + 0x1850]
mov dword [esi + 0x2cf8], 3
call fcn.00478e18
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 8]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x20]
cmp eax, 3
jne 0x491734
cmp cl, 3
je 0x491734
mov eax, dword [esi + 0xc]
mov edx, ecx
lea ecx, [esi + 0x1850]
mov dword [esi + 0x2cf8], 3
mov dword [ecx], edi
mov dword [ecx + 4], ebx
mov byte [ecx + 8], al
mov eax, dword [esi]
mov byte [ecx + 9], dl
mov word [ecx + 0xa], ax
call fcn.00494ba7
lea ecx, [esi + 0x11e8]
mov edi, eax
call fcn.00479031
mov eax, dword [esi + 0x60]
mov dword [eax + 4], edi
mov dword [eax + 8], 0x5d0ed0
mov dword [eax], 2
jmp 0x490a4a
lea ecx, [esi + 0x11e8]
jmp 0x4902e9
lea eax, [esi + 0xe8]
push 0x44
lea ecx, [esi + 0x8b4]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
push 0x640
lea eax, [esi + 0x2668]
push eax
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
lea eax, [esi + 0x228]
mov byte [esi + 0x17], 0
push eax
call fcn.004058c4
pop eax
jmp 0x492158
lea eax, [esi + 0xe04]
lea ebx, [esi + 0x144]
push 0x2c
push eax
push ebx
call fcn.0058a110
add esp, 0xc
lea ecx, [esi + 0x11e8]
mov dword [ebx - 4], edi
mov dword [esi + 0x2cf8], 0x28
call fcn.0047901c
lea edx, [esi + 0x1e0]
lea eax, [esi + 0xb0]
lea ecx, [esi + 0xe00]
mov dword [edx + 4], 1
mov dword [edx], 3
mov word [edx + 8], 0x102
push eax
call fcn.00477ed0
pop eax
cmp dword [esi + 0xe00], 0
je 0x49192a
movsd xmm0, qword [esi + 0xe18]
movsd xmm1, qword [esi + 0xe08]
movsd xmm2, qword [esi + 0xe10]
movsd qword [esi + 0x1090], xmm1
movsd qword [esi + 0x1098], xmm2
movsd qword [esi + 0x10a0], xmm0
mov dword [esi + 0x1088], 1
jmp 0x4919c7
xor ecx, ecx
xor edx, edx
push 0x5d0ae0
call fcn.0059a1e0
pop eax
jmp 0x492ddd
mov edi, 0x164
push edi
lea eax, [esi + 0xe04]
push eax
lea ebx, [esi + 0x11e8]
push ebx
call fcn.0058a110
add esp, 0xc
push edi
push ebx
lea edi, [esi + 0x1470]
push edi
call fcn.0058a110
add esp, 0xc
mov edx, dword [esi + 0x1e8]
movzx eax, byte [esi + 0x1e9]
mov dword [esi + 0x2cf8], 0x29
lea ecx, [esi + 0x1088]
push edi
push eax
call fcn.00407728
pop eax
pop ecx
lea eax, [esi + 0x1470]
mov dword [esi + 0x2cf8], 0x28
push eax
call fcn.004083ab
pop eax
cmp dword [esi + 0x1088], 0
jne 0x4919c7
lea eax, [esi + 0x1090]
mov edi, dword [eax - 4]
push 0x158
push eax
lea eax, [esi + 0x16f8]
push eax
call fcn.0058a110
add esp, 0xc
cmp edi, 0x80000000
jne 0x492341
lea eax, [esi + 0x140]
mov dword [esi + 0x940], 0x80000000
mov byte [esi + 0x17], 1
mov dword [esi + 0x2cf8], 0x26
push eax
call fcn.004a992a
pop eax
lea ecx, [esi + 0x940]
mov byte [esi + 0x17], 1
mov dword [esi + 0x2cf8], 0x26
call fcn.004a9c6c
xor eax, eax
lea edx, [esi + 0x148c]
inc eax
mov dword [edx + 4], eax
push 3
pop ecx
mov bl, 1
mov dword [edx], ecx
mov dword [edx - 0x1c], 2
mov dword [edx - 0x14], eax
mov dword [edx - 0x18], ecx
mov byte [edx - 0x10], bl
mov dword [edx - 8], eax
lea eax, [esi + 0xb0]
mov dword [edx - 0xc], ecx
mov word [edx + 8], 2
mov word [edx - 4], 0x100
mov byte [esi + 0x17], bl
lea ecx, [esi + 0x940]
push eax
call fcn.00477ed0
pop eax
cmp dword [esi + 0x940], 0
je 0x491ab3
mov eax, dword [esi + 0x94c]
movsd xmm0, qword [esi + 0x956]
mov edx, dword [esi + 0x948]
mov cl, byte [esi + 0x955]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x950]
movsd qword [esi + 0x1e0], xmm0
mov dword [esi + 0x28], eax
movzx eax, word [esi + 0x95e]
mov word [esi + 0x1e8], ax
mov al, byte [esi + 0x954]
mov dword [esi + 0x30], eax
cmp edx, 3
je 0x4920d1
mov byte [esi + 0x1701], 3
jmp 0x492105
lea ecx, [esi + 0x960]
lea edi, [esi + 0xe1c]
mov eax, dword [ecx - 0x1c]
movsd xmm0, qword [ecx - 0xa]
mov ebx, dword [ecx - 0x10]
mov dword [esi + 0x24], eax
mov eax, dword [ecx - 0x18]
movsd qword [esi + 0x11e8], xmm0
mov dword [esi + 0x28], eax
movzx eax, word [ecx - 2]
mov word [esi + 0x11f0], ax
mov eax, dword [ecx - 0x14]
mov dword [esi + 0x30], eax
movzx eax, word [ecx - 0xc]
mov word [esi + 0x38], ax
push 0x148
push ecx
push edi
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x24]
movsd xmm0, qword [esi + 0x11e8]
mov dword [edi - 0x1c], eax
mov eax, dword [esi + 0x28]
mov dword [edi - 0x18], eax
mov eax, dword [esi + 0x30]
mov dword [edi - 0x14], eax
movzx eax, word [esi + 0x38]
mov dword [edi - 0x10], ebx
mov word [edi - 0xc], ax
movzx eax, word [esi + 0x11f0]
movsd qword [edi - 0xa], xmm0
mov word [edi - 2], ax
movzx eax, byte [esi + 0x1494]
cmp eax, 3
jne 0x491ba0
push 0x164
lea eax, [esi + 0xe00]
push eax
lea edi, [esi + 0x940]
push edi
call fcn.0058a110
add esp, 0xc
mov byte [esi + 0x37], 0
mov dword [esi + 0x2cf8], 0x27
lea ecx, [esi + 0x1088]
lea edx, [esi + 0x1470]
push edi
call fcn.00406abc
pop eax
mov eax, dword [esi + 0x1088]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x108c]
mov dword [esi + 0x28], eax
mov al, byte [esi + 0x1090]
mov dword [esi + 0x30], eax
jmp 0x4920cb
test eax, eax
je 0x49208a
cmp eax, 1
jne 0x4921a7
mov edx, dword [esi + 0x1470]
lea eax, [esi + 0xe00]
mov byte [esi + 0x37], 1
mov dword [esi + 0x2cf8], 0x27
lea ecx, [esi + 0x940]
push eax
push dword [esi + 0x147c]
call fcn.00406d3e
pop eax
pop ecx
mov ebx, dword [esi + 0x940]
cmp ebx, 0x80000000
je 0x4921e4
lea edi, [esi + 0x940]
mov eax, dword [edi + 4]
movsd xmm0, qword [edi + 0x16]
mov dword [esi + 0x24], eax
mov eax, dword [edi + 8]
movsd qword [esi + 0x140], xmm0
mov dword [esi + 0x28], eax
movzx eax, word [edi + 0x1e]
mov word [esi + 0x148], ax
mov eax, dword [edi + 0xc]
mov dword [esi + 0x30], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0x50], eax
movzx eax, word [edi + 0x14]
mov word [esi + 0x38], ax
mov eax, 0x128
push eax
lea eax, [esi + 0x960]
push eax
lea eax, [esi + 0x11e8]
push eax
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x24]
movsd xmm0, qword [esi + 0x140]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x28]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x50]
mov dword [edi + 0x10], eax
movzx eax, word [esi + 0x38]
mov word [edi + 0x14], ax
movzx eax, word [esi + 0x148]
movsd qword [edi + 0x16], xmm0
mov word [edi + 0x1e], ax
mov eax, 0x128
mov dword [edi], ebx
push eax
lea eax, [esi + 0x11e8]
push eax
lea eax, [esi + 0x960]
push eax
call fcn.0058a110
add esp, 0xc
mov ecx, edi
mov byte [esi + 0x37], 1
call fcn.00478725
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], 0x5cef24
mov al, 1
jmp 0x492474
push 0x164
lea eax, [esi + 0xe00]
push eax
lea edi, [esi + 0x940]
push edi
call fcn.0058a110
add esp, 0xc
mov ecx, edi
mov byte [esi + 0x37], 0
mov dword [esi + 0x2cf8], 0x27
call fcn.00478684
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], 0x5ceea0
mov dword [esi + 0x30], 0
mov cl, byte [esi + 0x1495]
mov eax, dword [esi + 0x24]
movzx edx, word [esi + 0x1e0]
cmp cl, 3
mov dword [esi + 0x16f8], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0x16fc], eax
mov eax, dword [esi + 0x30]
mov byte [esi + 0x1700], al
mov byte [esi + 0x1701], cl
mov word [esi + 0x1702], dx
jne 0x492177
lea ecx, [esi + 0x16f8]
mov byte [esi + 0x17], 1
mov dword [esi + 0x2cf8], 0x26
call fcn.004a9c7d
mov byte [esi + 0x1a4], 2
lea eax, [esi + 0xe8]
push 0x44
lea ecx, [esi + 0x8b4]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
push 0x640
lea eax, [esi + 0x2668]
push eax
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
lea ecx, [esi + 0x8f8]
call fcn.00494c9f
mov eax, dword [esi + 0x10]
lea edi, [esi + 0x2668]
mov al, byte [eax + 0x44]
mov dword [esi + 0xc], eax
jmp 0x48fbcf
mov eax, dword [esi + 0x1700]
movsd xmm0, qword [esi + 0x16f9]
mov dword [esi + 0x2cf8], 0x26
mov edi, 0x80000006
mov dword [esi + 0x21af], eax
movsd qword [esi + 0x21a8], xmm0
jmp 0x491437
mov edx, dword [esi + 0x1488]
movzx eax, byte [esi + 0x1489]
lea edi, [esi + 0xe00]
mov byte [esi + 0x37], 1
mov dword [esi + 0x2cf8], 0x27
lea ecx, [esi + 0x940]
push edi
push eax
call fcn.00407728
pop eax
pop ecx
cmp dword [esi + 0x940], 0
je 0x4923c1
mov eax, dword [esi + 0x948]
movsd xmm0, qword [esi + 0x956]
mov byte [esi + 0x17], 1
mov dword [esi + 0x2cf8], 0x26
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x94c]
movsd qword [esi + 0x1e0], xmm0
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x950]
mov dword [esi + 0x28], eax
movzx eax, word [esi + 0x95e]
mov word [esi + 0x1e8], ax
mov al, byte [esi + 0x954]
mov dword [esi + 0x30], eax
mov al, byte [esi + 0x955]
mov byte [esi + 0x38], al
lea eax, [esi + 0xe00]
push eax
call fcn.004083ab
pop eax
mov cl, byte [esi + 0x38]
mov edx, dword [esi + 0x50]
jmp 0x491a9e
lea ebx, [esi + 0x974]
push 0x158
lea eax, [esi + 0x16f8]
push eax
push ebx
call fcn.0058a110
add esp, 0xc
lea eax, [esi + 0x140]
push 0x30
push eax
lea eax, [esi + 0x940]
push eax
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0xc]
mov dword [ebx - 4], edi
mov dword [ebx + 0x158], eax
mov edi, dword [ebx - 0x34]
cmp edi, 0x80000000
je 0x4919ec
lea eax, [esi + 0x945]
mov cl, byte [eax - 1]
mov dword [esi + 0x24], ecx
push 0x18b
push eax
lea eax, [esi + 0x21a8]
push eax
call fcn.0058a110
add esp, 0xc
cmp edi, 0x80000007
je 0x49211e
jmp 0x491437
mov eax, dword [esi + 0x944]
movsd xmm0, qword [esi + 0x956]
movzx ebx, word [esi + 0x954]
lea edi, [esi + 0x1204]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x948]
movsd qword [esi + 0x140], xmm0
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x94c]
mov dword [esi + 0x30], eax
movzx eax, word [esi + 0x95e]
mov word [esi + 0x148], ax
mov eax, dword [esi + 0x950]
mov dword [esi + 0x38], eax
push 0x140
lea eax, [esi + 0x960]
push eax
push edi
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x24]
movsd xmm0, qword [esi + 0x140]
lea ecx, [esi + 0x11e8]
mov byte [esi + 0x37], 1
mov dword [edi - 0x1c], eax
mov eax, dword [esi + 0x28]
mov dword [edi - 0x18], eax
mov eax, dword [esi + 0x30]
mov dword [edi - 0x14], eax
mov eax, dword [esi + 0x38]
mov dword [edi - 0x10], eax
movzx eax, word [esi + 0x148]
mov word [edi - 0xc], bx
movsd qword [edi - 0xa], xmm0
mov word [edi - 2], ax
call fcn.004787c6
mov dword [esi + 0x24], eax
mov al, 2
mov dword [esi + 0x28], 0x5cefa8
mov dword [esi + 0x30], eax
mov al, byte [esi + 0x1495]
mov byte [esi + 0x17], 1
mov dword [esi + 0x2cf8], 0x26
mov byte [esi + 0x38], al
lea eax, [esi + 0xe00]
push eax
call fcn.004083ab
mov cl, byte [esi + 0x38]
add esp, 4
jmp 0x4920d1
mov byte [esi + 0x2f], 1
mov dword [esi + 0x2cf8], 0x43
mov ecx, eax
push 0x5cffb8
call fcn.0059a1e0
pop eax
jmp 0x492ddd
mov byte [esi + 0x2f], 1
mov dword [esi + 0x2cf8], 0x43
mov ecx, edi
push 0x5cffb8
call fcn.0059a1e0
pop eax
jmp 0x492ddd
lea eax, [esi + 0x21a8]
lea ecx, [esi + 0x1850]
lea edx, [esi + 0x940]
mov byte [esi + 0x43], 1
mov dword [esi + 0x940], eax
xor eax, eax
mov dword [ecx], str.internal_error:_entered_unreachable_code:_expected_literal__got
mov dword [esi + 0x944], 0x4ad57d
inc eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0x5d0b38
mov dword [ecx + 0xc], eax
call fcn.0059a150
jmp 0x492ddd
lea ecx, [esi + 0x19f4]
mov dword [esi + 0x2cf8], 5
call fcn.00478ed4
lea ecx, [esi + 0x270]
lea edx, [esi + 0x1850]
call fcn.00412e5a
push pe_nt_image_headers32
lea eax, [esi + 0x270]
push eax
lea eax, [esi + 0x1a3c]
push eax
call fcn.0058a110
add esp, 0xc
lea ecx, [esi + 0x270]
lea edx, [esi + 0x1850]
call fcn.0041156a
mov eax, dword [esi + 0x270]
cmp eax, 3
mov dword [esi + 0x20], eax
jne 0x49168c
lea ecx, [esi + 0x1850]
call fcn.004116c4
lea ecx, [esi + 0x270]
lea edx, [esi + 0x1850]
call fcn.00411165
mov eax, dword [esi + 0x270]
cmp eax, 3
mov dword [esi + 0x20], eax
jne 0x49168c
lea ecx, [esi + 0x270]
lea edx, [esi + 0x1850]
call fcn.0040fdee
mov eax, dword [esi + 0x270]
cmp eax, 3
mov dword [esi + 0x20], eax
jne 0x49168c
lea ecx, [esi + 0x1850]
call fcn.00411742
lea ecx, [esi + 0x1850]
call fcn.00410ae9
lea ecx, [esi + 0x270]
lea edx, [esi + 0x1870]
call fcn.00412f68
lea ecx, [esi + 0x1a30]
mov dword [esi + 0x2cf8], 6
call fcn.00478867
mov eax, dword [esi + 0x278]
movsd xmm0, qword [esi + 0x270]
lea ecx, [esi + 0x1a30]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
xor eax, eax
lea ecx, [esi + 0x1a00]
cmp dword [esi + 0x1a30], 0
setne al
mov eax, dword [esi + eax*8 + 0x1b48]
mov dword [esi + 0x2cf8], 5
mov dword [esi + 0x1b44], eax
call fcn.00478f2d
lea ecx, [esi + 0x1a0c]
call fcn.004063d7
lea ecx, [esi + 0x1a18]
call fcn.00478f86
lea ecx, [esi + 0x1a24]
call fcn.004063d7
lea eax, [esi + 0x1a10]
mov ecx, dword [eax - 0x1c]
mov edi, dword [eax - 0x14]
mov edx, dword [eax - 0x10]
movzx ebx, word [eax - 0xa]
mov dword [esi + 0x20], ecx
mov ecx, dword [eax - 0x18]
mov dword [esi + 0x30], edi
mov dword [esi + 0x28], edx
mov edi, dword [eax - 4]
mov edx, dword [eax - 8]
mov word [esi + 4], bx
mov dword [esi + 0x18], ecx
mov cl, byte [eax - 0xc]
mov dword [esi + 0x24], edi
mov dword [esi + 0xc], edx
mov byte [esi], cl
mov cl, byte [eax - 0xb]
mov byte [esi + 8], cl
push 0x148
push eax
lea eax, [esi + 0x940]
push eax
call fcn.0058a110
add esp, 0xc
lea ecx, [esi + 0x1870]
mov dword [esi + 0x2cf8], 3
call fcn.00478fe3
mov edi, 0x148
lea ebx, [esi + 0x21a8]
push edi
lea eax, [esi + 0x940]
push eax
push ebx
call fcn.0058a110
add esp, 0xc
mov ecx, dword [esi + 0x20]
lea eax, [esi + 0x2684]
mov edx, dword [esi + 0xc]
mov dword [eax - 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax - 0x18], ecx
mov ecx, dword [esi + 0x30]
mov dword [eax - 0x14], ecx
mov ecx, dword [esi + 0x28]
mov dword [eax - 0x10], ecx
mov cl, byte [esi]
mov byte [eax - 0xc], cl
mov cl, byte [esi + 8]
mov byte [eax - 0xb], cl
movzx ecx, word [esi + 4]
mov word [eax - 0xa], cx
mov ecx, dword [esi + 0x24]
mov dword [eax - 8], edx
mov dword [eax - 4], ecx
push edi
push ebx
push eax
call fcn.0058a110
add esp, 0xc
movzx eax, byte [esi + 0xe24]
cmp eax, 3
jne 0x492ae7
push 0x164
lea eax, [esi + 0x2668]
push eax
lea edi, [esi + 0x1850]
push edi
call fcn.0058a110
add esp, 0xc
mov byte [esi + 0x36], 0
mov dword [esi + 0x2cf8], 4
lea ecx, [esi + 0x940]
lea edx, [esi + 0xe00]
push edi
call fcn.00406abc
pop eax
mov cl, byte [esi + 0x948]
mov eax, dword [esi + 0x940]
mov ebx, dword [esi + 0x944]
mov dword [esi + 0xc], ecx
jmp 0x492c22
mov dword [esi + 8], 0x7ffffffe
mov dword [esi + 4], 0
mov dword [esi + 0xc], 0
mov dword [esi], 0
jmp 0x4913e2
mov dword [esi + 4], eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x28], eax
push 2
pop eax
jmp 0x4913d7
mov ecx, edx
mov dword [esi + 0x2cf8], 5
mov edx, edi
push 0x5cf1c4
call fcn.0059a1e0
pop eax
jmp 0x492ddd
mov ecx, dword [esi + 8]
mov byte [esi + 0x2f], 1
mov dword [esi + 0x2cf8], 0x43
mov edx, edi
push 0x5d01dc
call fcn.0059a1e0
pop eax
jmp 0x492ddd
mov byte [esi + 0x2f], 1
mov dword [esi + 0x2cf8], 0x43
mov ecx, ebx
mov edx, edi
push 0x5d01dc
call fcn.0059a1e0
pop eax
jmp 0x492ddd
lea eax, [esi + 0xe00]
lea ecx, [esi + 0x1850]
lea edx, [esi + 0x940]
mov byte [esi + 0x43], 1
mov dword [esi + 0x2cf8], 8
mov dword [esi + 0x940], eax
xor eax, eax
mov dword [ecx], str.internal_error:_entered_unreachable_code:_expected_literal_or_concat__got
mov dword [esi + 0x944], 0x4ad57d
inc eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0x5d0b9c
mov dword [ecx + 0xc], eax
call fcn.0059a150
jmp 0x492ddd
lea edx, [esi + 0x940]
lea ecx, [esi + 0xe00]
and dword [edx], 0
call fcn.0059aa82
jmp 0x492ddd
test eax, eax
je 0x492be6
cmp eax, 1
jne 0x492c34
mov edx, dword [esi + 0xe00]
lea eax, [esi + 0x2668]
mov byte [esi + 0x36], 1
mov dword [esi + 0x2cf8], 4
lea ecx, [esi + 0x1850]
push eax
push dword [esi + 0xe0c]
call fcn.00406d3e
pop eax
pop ecx
mov ebx, dword [esi + 0x1850]
cmp ebx, 0x80000000
je 0x492c6d
lea edi, [esi + 0x1850]
mov eax, dword [edi + 4]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 8]
mov dword [esi], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 4], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x24], eax
mov eax, 0x128
push eax
lea eax, [esi + 0x1870]
push eax
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x18]
mov dword [edi + 4], eax
mov eax, dword [esi]
mov dword [edi + 8], eax
mov eax, dword [esi + 8]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 4]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x24]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0x18], eax
mov eax, 0x128
mov dword [edi], ebx
push eax
lea eax, [esi + 0x270]
push eax
lea eax, [esi + 0x1870]
push eax
call fcn.0058a110
add esp, 0xc
mov ecx, edi
mov byte [esi + 0x36], 1
call fcn.00478725
mov dword [esi + 0x18], eax
mov dword [esi + 8], 0x5cef24
mov al, 1
jmp 0x492d5f
push 0x164
lea eax, [esi + 0x2668]
push eax
lea edi, [esi + 0x1850]
push edi
call fcn.0058a110
add esp, 0xc
mov ecx, edi
mov byte [esi + 0x36], 0
mov dword [esi + 0x2cf8], 4
call fcn.00478684
mov ebx, 0x5ceea0
mov dword [esi + 0xc], 0
mov cl, byte [esi + 0xe25]
mov edi, eax
mov dword [esi], eax
push 3
pop eax
jmp 0x4916da
mov edx, dword [esi + 0xe18]
movzx eax, byte [esi + 0xe19]
lea edi, [esi + 0x2668]
mov byte [esi + 0x36], 1
mov dword [esi + 0x2cf8], 4
lea ecx, [esi + 0x1850]
push edi
push eax
call fcn.00407728
pop eax
pop ecx
cmp dword [esi + 0x1850], 0
je 0x492cc8
mov eax, dword [esi + 0x1858]
mov dword [esi + 0x2cf8], 3
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x185c]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x1860]
mov dword [esi + 8], eax
mov al, byte [esi + 0x1864]
mov dword [esi + 0xc], eax
mov al, byte [esi + 0x1865]
mov dword [esi + 4], eax
movzx eax, word [esi + 0x1866]
mov dword [esi], eax
lea eax, [esi + 0x2668]
push eax
call fcn.004083ab
pop eax
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 8]
mov ecx, dword [esi + 4]
jmp 0x4916d7
mov eax, dword [esi + 0x1854]
mov edi, dword [esi + 0x186c]
lea ebx, [esi + 0x28c]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x1858]
mov dword [esi], eax
mov eax, dword [esi + 0x185c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x1860]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x1864]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x1868]
mov dword [esi + 0x20], eax
push 0x140
lea eax, [esi + 0x1870]
push eax
push ebx
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0x18]
lea ecx, [esi + 0x270]
mov byte [esi + 0x36], 1
mov dword [ebx - 0x1c], eax
mov eax, dword [esi]
mov dword [ebx - 0x18], eax
mov eax, dword [esi + 8]
mov dword [ebx - 0x14], eax
mov eax, dword [esi + 4]
mov dword [ebx - 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [ebx - 0xc], eax
mov eax, dword [esi + 0x20]
mov dword [ebx - 4], edi
mov dword [ebx - 8], eax
call fcn.004787c6
mov dword [esi + 0x18], eax
mov al, 2
mov dword [esi + 8], 0x5cefa8
mov dword [esi + 0xc], eax
mov al, byte [esi + 0xe25]
mov dword [esi + 0x2cf8], 3
mov dword [esi + 4], eax
lea eax, [esi + 0x2668]
push eax
call fcn.004083ab
mov ecx, dword [esi + 4]
add esp, 4
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 8]
jmp 0x492c2a
mov dword [esi + str.expected_number_of_patterns_to_match_pattern_ID], 0x5cf234
mov dword [esi + 0x274], 1
mov dword [esi + 0x278], str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs
and dword [esi + 0x27c], 0
and dword [esi + 0x280], 0
lea ecx, [esi + 0xe8]
lea edx, [esi + 0x16f8]
push 0x5cf23c
lea eax, [esi + 0x270]
push eax
call fcn.0059cf7c
pop eax
pop ecx
ud2