Function at 0x42f47c
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1d0
mov esi, esp
mov dword [esi + 0x1b8], ebp
lea eax, [esi + 0x1c0]
mov dword [esi + 0x68], ecx
mov dword [esi + 0x94], edx
mov dword [eax - 4], esp
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x45f4d0
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
call 0x42f4c7
pop eax
mov dword [esi + 0x17c], eax
call fcn.00451560
lea edi, [esi + 0xd0]
mov dword [esi + 0x1a0], ecx
mov dword [esi + 0x1a8], eax
mov dword [esi + 0x1a4], edx
mov ecx, edi
call fcn.004215ff
cmp byte [edi], 4
jne 0x42f4ff
mov edi, dword [esi + 0xd4]
jmp 0x42f511
movzx eax, byte [esi + 0xd0]
mov edi, dword [esi + 0xd4]
cmp eax, 4
jne 0x42f574
lea ebx, [esi + 0xd0]
mov edx, edi
mov ecx, ebx
call fcn.004215c7
cmp byte [ebx], 4
jne 0x42f52d
mov ebx, dword [esi + 0xd4]
jmp 0x42f53d
mov al, byte [esi + 0xd0]
mov ebx, dword [esi + 0xd4]
cmp al, 4
jne 0x42f580
and ebx, 0xfffffff8
lea ecx, [esi + 0xd0]
mov edx, edi
push ebx
call fcn.0042159e
add esp, 4
lea eax, [esi + 0xd0]
cmp byte [eax], 4
je 0x42f566
mov eax, dword [esi + 0xd0]
cmp al, 4
jne 0x42f57a
lock dec dword [edi]
jne 0x42f59a
mov ecx, edi
call fcn.0042105a
jmp 0x42f59a
je 0x42f59a
mov ebx, edi
jmp 0x42f590
mov ebx, dword [esi + 0xd4]
lock dec dword [edi]
jne 0x42f590
mov ecx, edi
mov edi, eax
call fcn.0042105a
mov eax, edi
movzx ecx, al
mov edx, ebx
call fcn.00429aac
mov eax, dword [0x48fce4]
cmp eax, 3
jne 0x4324d6
lea eax, [0x48fce8]
mov dword [esi + 0x40], eax
call fcn.00420e0e
test al, al
je 0x42f5f9
lea edi, [esi + 8]
lea eax, [esi + 0x40]
mov edx, 0x47a798
mov ecx, edi
mov dword [edi + 8], eax
mov byte [edi], 4
call fcn.0042aebf
mov ecx, dword [edi]
mov edi, dword [edi + 4]
test al, al
je 0x42f6a6
cmp cl, 4
je 0x432aab
cmp cl, 4
je 0x42f6d5
movzx eax, cl
jmp 0x42f6d0
lea edi, [esi + 0xd0]
lea edx, [esi + 0x40]
mov ecx, edi
call fcn.00458440
cmp byte [edi], 4
je 0x42f61b
cmp byte [esi + 0xd0], 4
jne 0x42f6c3
xor eax, eax
xor ecx, ecx
mov dword [esi + 0xd0], 0xc
inc ecx
mov dword [esi + 0xd4], eax
mov dword [esi + 0xd8], ecx
push eax
push ecx
push edi
push 3
push 0xc0000000
call sub.kernel32.dll_CreateConsoleScreenBuffer
cmp eax, 0xffffffff
je 0x42f6b4
mov edi, eax
mov al, byte [0x48fdb4]
xor ecx, ecx
mov edx, 0x10
call fcn.0045a4d0
test eax, eax
je 0x432ae3
mov ebx, eax
xor eax, eax
inc eax
mov edx, ebx
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], edi
lea edi, [esi + 0xd0]
mov byte [ebx + 0xc], 1
mov ecx, edi
call fcn.004216b1
cmp byte [edi], 4
je 0x42f698
mov eax, dword [esi + 0xd0]
cmp al, 4
jne 0x4324ea
lock dec dword [ebx]
jne 0x42f6d5
mov ecx, ebx
call fcn.0042105a
jmp 0x42f6d5
cmp cl, 4
je 0x42f6d5
mov edx, edi
call fcn.00429aac
jmp 0x42f6d5
call dword [sym.imp.kernel32.dll_GetLastError]
mov edi, eax
xor eax, eax
movzx eax, al
jmp 0x42f6d0
movzx eax, byte [esi + 0xd0]
mov edi, dword [esi + 0xd4]
cmp eax, 4
jne 0x42f6ff
lea edi, [esi + 0xd0]
lea edx, [esi + 0x40]
mov ecx, edi
call fcn.00458440
cmp byte [edi], 4
je 0x42f70d
cmp byte [esi + 0xd0], 4
je 0x42f70d
mov eax, dword [esi + 0xd0]
mov edi, dword [esi + 0xd4]
cmp al, 4
je 0x42f70d
movzx ecx, al
mov edx, edi
call fcn.00429aac
mov eax, dword [0x48fce4]
cmp eax, 3
jne 0x4324e0
lea edi, [esi + 0xd0]
mov ecx, edi
call fcn.0042a3aa
cmp word [edi], 0
je 0x42f73c
mov ecx, dword [esi + 0xd4]
mov edx, dword [esi + 0xd8]
jmp 0x42f7a5
lea ecx, [esi + 0xd0]
lea edx, [esi + 0x50]
lea ebx, [esi + 0x30]
mov eax, dword [ecx + 2]
mov edi, dword [ecx + 6]
mov dword [ebx + 4], edi
mov dword [ebx], eax
mov dword [esi + 4], edi
mov dword [edx + 4], edi
mov dword [esi + 0x2c], eax
mov dword [edx], eax
call fcn.00440a24
lea edi, [esi + 0xe4]
mov edx, ebx
mov ecx, edi
call fcn.00440a24
mov eax, dword [edi - 0x14]
movq xmm0, qword [edi - 8]
movq xmm2, qword [edi]
movq xmm1, qword [edi + 8]
mov ecx, dword [edi - 0x10]
mov edx, dword [edi - 0xc]
mov edi, dword [edi + 0x10]
cmp eax, 0x80000000
movq qword [esi + 8], xmm0
movq qword [esi + 0x10], xmm2
movq qword [esi + 0x18], xmm1
mov dword [esi + 0x20], edi
jne 0x42f7c2
mov edi, 0x80000000
mov dword [esi + 0xd0], edi
call fcn.00429aac
cmp dword [esi + 0xd0], edi
jne 0x42f83a
jmp 0x42f85b
movsd xmm1, qword [esi + 0x10]
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd8], edx
movq xmm0, qword [esi + 8]
mov edx, dword [esi + 0x2c]
mov ecx, dword [esi + 4]
movsd qword [esi + 0xe4], xmm1
movq xmm1, qword [esi + 0x18]
mov dword [esi + 0xf4], eax
lea eax, [0x48fce8]
movq qword [esi + 0xdc], xmm0
movq qword [esi + 0xec], xmm1
mov dword [esi + 0xf8], eax
mov dword [esi + 0xfc], 0
mov dword [esi + 0x100], edx
mov dword [esi + 0x104], ecx
mov byte [esi + 0x108], 1
mov byte [esi + 0x10a], 0
lea edi, [esi + 8]
lea edx, [esi + 0xd0]
mov ecx, edi
call fcn.0042f26c
mov al, byte [edi]
cmp al, 4
je 0x42f85b
mov edx, dword [esi + 0xc]
movzx ecx, al
call fcn.00429aac
mov edi, dword [esi + 0x94]
mov edx, 0x80
mov dword [esi + 0x16c], 0
mov dword [esi + 0x118], 0
mov dword [esi + 0x11c], 0
mov dword [esi + 0x12c], 0
mov dword [esi + 0x178], 0
mov dword [esi + 0x174], 0
lea eax, [edi + 0x40]
mov dword [esi + 0x138], eax
lea eax, [edi + 0xc0]
mov dword [esi + 0x134], eax
mov eax, dword [esi + 0x68]
lea ecx, [eax + edx]
add edx, edi
lea ebx, [eax + 0x9c]
mov dword [esi + 0x1b0], edx
lea edx, [eax + 0x90]
mov dword [esi + 0x198], ebx
lea ebx, [eax + 0x88]
mov dword [esi + 0x150], ecx
mov dword [esi + 0x19c], edx
lea edx, [eax + 0x10]
mov dword [esi + 0x154], ebx
lea ebx, [eax + 0xa8]
mov dword [esi + 0x184], edx
lea edx, [eax + 0x78]
mov dword [esi + 0x194], ebx
mov dword [esi + 0x190], edx
lea edx, [eax + 0x70]
lea eax, [eax + 0x60]
mov dword [esi + 0x188], eax
mov dword [esi + 0x18c], edx
mov eax, dword [edi + 0xe4]
test al, 1
jne 0x42f933
mov eax, dword [edi + 0xe8]
test eax, eax
jne 0x42f97b
mov ecx, dword [edi + 0xc0]
mov eax, dword [edi + 0xc8]
mov edx, dword [ecx + 0x180]
cmp edx, eax
ja 0x42f960
add edx, 0x10
cmp edx, eax
jbe 0x42f960
mov ecx, dword [ecx + 0x188]
mov edx, eax
and edx, 0xf
bt ecx, edx
jb 0x42f97b
mov ecx, dword [edi + 0x44]
sub ecx, eax
mov eax, dword [edi + 0x40]
mov eax, dword [eax + 0x188]
bt eax, 0x11
sbb ecx, 0
je 0x43145a
mov ecx, dword [esi + 0x1a8]
mov edx, dword [esi + 0x1a4]
push dword [esi + 0x1a0]
call fcn.0045a1b0
add esp, 4
mov edi, eax
mov eax, edx
mov edx, dword [esi + 0x118]
mov ebx, dword [esi + 0x11c]
mov dword [esi + 0x180], ecx
mov ecx, eax
mov dword [esi + 0x1ac], ecx
cmp edi, edx
sbb eax, ebx
jae 0x42f9c6
mov dword [esi + 0x11c], ebx
mov ebx, edi
jmp 0x430c08
mov eax, edi
mov dword [esi + 0x114], edi
mov edi, ecx
mov ecx, dword [esi + 0x180]
xor eax, edx
xor edi, ebx
or edi, eax
mov eax, dword [esi + 0x16c]
jne 0x42f9f3
cmp ecx, eax
jae 0x42f9f3
mov dword [esi + 0x11c], ebx
jmp 0x430c02
cmp eax, 0x2cb41780
jb 0x42fa12
add dword [esi + 0x118], 1
mov ecx, 0x3b9aca00
adc ebx, 0
jb 0x42fa2e
add eax, 0xd34be880
jmp 0x42fa17
add eax, 0xee6b280
mov ecx, eax
shr eax, 9
mov edx, 0x44b83
mul edx
shr edx, 7
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov edx, dword [esi + 0x118]
cmp ecx, 0x3b9aca00
mov eax, 0x3b9ac9ff
cmove ecx, eax
mov eax, 0xffffffff
cmove ebx, eax
mov dword [esi + 0x16c], ecx
mov dword [esi + 0x11c], ebx
cmove edx, eax
cmp dword [esi + 0xd0], 0x80000000
mov dword [esi + 0x118], edx
je 0x430c02
cmp byte [esi + 0x108], 0
je 0x42fb48
lea ecx, [esi + 8]
call fcn.0042a3aa
cmp word [esi + 8], 0
je 0x42fa9e
mov edx, dword [esi + 0x10]
mov al, byte [esi + 0xc]
cmp al, 4
je 0x42fb48
jmp 0x430bfa
mov edi, dword [esi + 0xa]
mov ebx, dword [esi + 0xe]
cmp word [esi + 0x100], di
jne 0x42fad2
mov eax, edi
shr eax, 0x10
cmp word [esi + 0x102], ax
jne 0x42fad2
cmp word [esi + 0x104], bx
jne 0x42fad2
mov eax, ebx
shr eax, 0x10
cmp word [esi + 0x106], ax
je 0x42fb48
mov ecx, dword [esi + 0xfc]
mov dword [esi + 0xc], ebx
mov dword [esi + 8], edi
cmp ecx, 1
ja 0x4329f4
lea eax, [ecx + ecx*4]
lea edx, [esi + 8]
lea ecx, [esi + eax*4 + 0xd0]
call fcn.00440b5a
xor ecx, ecx
inc ecx
sub ecx, dword [esi + 0xfc]
cmp ecx, 2
jae 0x432a03
lea eax, [ecx + ecx*4]
lea edx, [esi + 8]
lea ecx, [esi + eax*4 + 0xd0]
call fcn.00440b5a
lea ecx, [esi + 0x50]
lea edx, [esi + 0xd0]
mov dword [esi + 0x104], ebx
mov dword [esi + 0x100], edi
call fcn.0042f26c
cmp byte [esi + 0x50], 4
je 0x42fb48
mov al, byte [esi + 0x50]
cmp al, 4
jne 0x4313cb
mov ecx, dword [esi + 0xfc]
movq xmm0, qword [esi + 0x100]
cmp ecx, 2
movq qword [esi + 8], xmm0
jae 0x43291f
lea eax, [ecx + ecx*4]
mov ecx, dword [esi + 0x68]
lea edx, [esi + 8]
lea eax, [esi + eax*4 + 0xd0]
push eax
call fcn.0042b30d
add esp, 4
mov ecx, dword [esi + 0xfc]
xor eax, eax
inc eax
sub eax, ecx
cmp eax, 1
ja 0x43292e
cmp ecx, 2
jae 0x43293f
lea eax, [eax + eax*4]
xor edx, edx
lea ecx, [ecx + ecx*4]
mov dword [esi + 8], edx
mov dword [esi + 0xc], 4
mov dword [esi + 0x10], edx
mov edx, dword [esi + ecx*4 + 0xd8]
mov edi, dword [esi + eax*4 + 0xd8]
cmp edx, edi
mov dword [esi + 0x110], edx
cmovb edi, edx
test edi, edi
mov dword [esi + 0x130], edi
movzx edi, word [esi + eax*4 + 0xe0]
mov word [esi + 0x120], di
je 0x43090c
mov eax, dword [esi + eax*4 + 0xd4]
mov ecx, dword [esi + ecx*4 + 0xd4]
xor ebx, ebx
xor edx, edx
mov dword [esi + 0x90], 4
mov dword [esi + 0xb0], 0
mov dword [esi + 0x140], 0
mov dword [esi + 0x6c], eax
xor eax, eax
mov dword [esi + 0xa0], ecx
mov dword [esi + 0x8c], eax
mov eax, dword [ecx + ebx + 8]
mov edi, dword [esi + 0x6c]
mov byte [esi + 0x9c], 1
mov dword [esi + 0x28], ebx
mov dword [esi + 4], edx
cmp eax, dword [edi + ebx + 8]
mov dword [esi + 0xc8], eax
jne 0x42fc76
push eax
push dword [edi + ebx + 4]
push dword [ecx + ebx + 4]
call fcn.00460cfe
add esp, 0xc
test eax, eax
je 0x42fd9e
mov edi, dword [esi + 0x90]
mov edx, dword [esi + 4]
mov ebx, dword [esi + 0x140]
mov ecx, dword [esi + 0xa0]
jmp 0x42fc82
mov edi, dword [esi + 0x90]
mov ebx, dword [esi + 0x140]
cmp dword [esi + 0xb0], 0
setne al
test ebx, ebx
jne 0x42fd17
or al, byte [esi + 0x9c]
je 0x42fd17
cmp word [esi + 0x120], 0
je 0x43265a
mov ecx, dword [esi + 0x8c]
cmp dword [esi + 0x110], ecx
jbe 0x43266e
mov eax, ecx
mov ecx, edx
xor edx, edx
div word [esi + 0x120]
cmp ecx, dword [esi + 8]
mov ebx, eax
mov eax, edx
mov edx, ecx
jne 0x42fce6
lea ecx, [esi + 8]
mov edi, eax
call fcn.0044073e
mov eax, edi
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
movzx eax, ax
shl ebx, 0x10
mov ecx, dword [esi + 0xa0]
mov dword [esi + 0x90], edi
or ebx, eax
mov dword [edi + edx*8], ebx
mov ebx, dword [esi + 0x28]
lea eax, [ecx + ebx]
mov dword [edi + edx*8 + 4], eax
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
mov dword [esi + 4], eax
mov edx, dword [ecx + ebx + 8]
jmp 0x42fd20
mov ebx, dword [esi + 0x28]
mov edx, dword [esi + 0xc8]
mov edi, ecx
mov ecx, dword [ecx + ebx + 4]
call fcn.0045e263
xor ecx, ecx
sub eax, 1
mov edx, dword [edi + ebx + 8]
cmovb eax, ecx
mov ecx, dword [edi + ebx + 4]
mov dword [esi + 0x140], eax
call fcn.0045e263
mov edi, eax
mov eax, dword [esi + 0x6c]
mov ecx, dword [eax + ebx + 4]
mov edx, dword [eax + ebx + 8]
call fcn.0045e263
mov ecx, dword [esi + 0xb0]
cmp edi, eax
cmova eax, edi
cmp eax, ecx
cmovbe eax, ecx
xor ecx, ecx
sub eax, 1
jb 0x42fd71
mov ecx, eax
mov eax, dword [esi + 0x8c]
mov ebx, dword [esi + 0x28]
mov dword [esi + 0xb0], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0xa0]
inc eax
add ebx, 0x18
cmp dword [esi + 0x130], eax
jne 0x42fc20
jmp 0x42ff0c
mov ecx, dword [esi + 0xa0]
mov al, byte [ecx + ebx + 0xc]
cmp al, byte [edi + ebx + 0xc]
jne 0x42fe18
movzx ecx, al
cmp ecx, 0x12
je 0x42fe26
mov edi, dword [esi + 0x90]
mov ebx, dword [esi + 0x140]
cmp ecx, 0x11
jne 0x42fe4c
cmp al, 0x11
jne 0x42fe4c
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x6c]
mov al, byte [eax + edx + 0xd]
cmp al, byte [ecx + edx + 0xd]
jne 0x42feb8
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x6c]
mov al, byte [eax + edx + 0xe]
cmp al, byte [ecx + edx + 0xe]
jne 0x42feb8
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x6c]
mov al, byte [eax + edx + 0xf]
cmp al, byte [ecx + edx + 0xf]
je 0x42fe4c
jmp 0x42feb8
mov edi, dword [esi + 0x90]
mov edx, dword [esi + 4]
jmp 0x42fc7c
mov edi, dword [esi + 0x90]
mov ebx, dword [esi + 0x140]
cmp al, 0x12
jne 0x42fe4c
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x6c]
mov al, byte [eax + edx + 0xd]
cmp al, byte [ecx + edx + 0xd]
jne 0x42feb8
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x6c]
mov al, byte [eax + edx + 0x10]
cmp al, byte [ecx + edx + 0x10]
jne 0x42feb8
movzx ecx, al
cmp ecx, 0x12
je 0x42fec0
cmp ecx, 0x11
mov ecx, dword [esi + 0xa0]
jne 0x42fee7
cmp al, 0x11
jne 0x42fee7
mov edx, dword [esi + 0x28]
mov al, byte [ecx + edx + 0x11]
mov ecx, dword [esi + 0x6c]
cmp al, byte [ecx + edx + 0x11]
jne 0x42feb8
mov eax, dword [esi + 0xa0]
mov al, byte [eax + edx + 0x12]
cmp al, byte [ecx + edx + 0x12]
jne 0x42feb8
mov eax, dword [esi + 0xa0]
mov al, byte [eax + edx + 0x13]
cmp al, byte [ecx + edx + 0x13]
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0xa0]
jne 0x42fc82
jmp 0x42fee7
mov edx, dword [esi + 4]
jmp 0x42fc6e
mov ecx, dword [esi + 0xa0]
cmp al, 0x12
jne 0x42fee7
mov edx, dword [esi + 0x28]
mov al, byte [ecx + edx + 0x11]
mov ecx, dword [esi + 0x6c]
cmp al, byte [ecx + edx + 0x11]
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 4]
jne 0x42fc82
mov edx, dword [esi + 0x28]
movzx eax, word [ecx + edx + 0x14]
mov ecx, dword [esi + 0x6c]
cmp ax, word [ecx + edx + 0x14]
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 4]
setne byte [esi + 0x9c]
jmp 0x42fc82
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
test edx, edx
mov dword [esi + 0xcc], eax
mov dword [esi + 0x128], ecx
je 0x4308ef
mov eax, dword [esi + 0x128]
shl dword [esi + 4], 3
mov dword [esi + 0x90], ebx
mov dword [esi + 0x110], ebx
mov dword [esi + 0x15c], ebx
mov dword [esi + 0xc8], ebx
mov dword [esi + 0x160], ebx
mov dword [esi + 0x158], ebx
mov dword [esi + 0xa0], 0
mov dword [esi + 0x6c], 0
mov dword [esi + 0xb0], 0
lea edi, [eax + 4]
xor eax, eax
mov ebx, dword [edi]
test ebx, ebx
je 0x4308ef
mov dword [esi + 0x140], edi
mov edi, dword [edi - 4]
mov dword [esi + 0x28], ebx
mov ebx, edi
shr ebx, 0x10
test al, 1
je 0x42ffa2
inc edx
cmp dx, di
jne 0x42ffa2
cmp cx, bx
je 0x4300b4
call fcn.0042068d
test al, al
je 0x430044
lea eax, [ebx + 1]
mov ecx, 0x41a2f0
mov dword [esi + 8], 0x47a62c
mov dword [esi + 0xc], 3
mov dword [esi + 0x18], 0
mov edx, 0x47a660
mov word [esi + 0x84], ax
lea eax, [edi + 1]
mov word [esi + 0x40], ax
lea eax, [esi + 0xf8]
mov dword [esi + 0x38], eax
lea eax, [esi + 0x84]
mov byte [esi + 0x30], 4
mov dword [esi + 0x50], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x5c], ecx
lea ecx, [esi + 0x30]
mov dword [esi + 0x10], eax
lea eax, [esi + 8]
mov dword [esi + 0x14], 2
push eax
call fcn.00418c00
add esp, 4
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
test al, al
je 0x43008a
cmp cl, 4
je 0x432a42
cmp cl, 4
je 0x430094
mov eax, ecx
movzx ecx, cl
shr eax, 8
shl eax, 8
or eax, ecx
jmp 0x43007e
lea ecx, [esi + 8]
lea edx, [esi + 0xf8]
call fcn.00458440
cmp byte [esi + 8], 4
je 0x43005e
cmp byte [esi + 8], 4
jne 0x430078
lea ecx, [esi + 8]
mov edx, edi
push ebx
call fcn.004202d9
add esp, 4
cmp byte [esi + 8], 4
je 0x430094
cmp byte [esi + 8], 4
je 0x430094
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
cmp al, 4
je 0x430094
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp 0x430098
cmp cl, 4
je 0x430094
call fcn.00429aac
mov byte [esi + 8], 4
lea ecx, [esi + 0x70]
lea edx, [esi + 8]
call fcn.00440942
cmp byte [esi + 0x70], 4
je 0x4300b4
mov eax, dword [esi + 0x70]
cmp al, 4
jne 0x431393
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0xb0]
mov dword [esi + 0x9c], ebx
movzx eax, word [eax + 0x14]
cmp ax, cx
jne 0x4300d9
mov eax, ecx
mov dword [esi + 0x8c], eax
jmp 0x430638
mov ebx, eax
lea eax, [esi + 0xf8]
mov dword [esi + 0x120], edi
mov dword [esi + 0x8c], ebx
not ebx
mov dword [esi + 0x40], eax
and ebx, ecx
test bl, 0x40
je 0x43014b
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 0x14
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x430115
mov byte [esi + 0x50], 4
jmp 0x430121
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x43013a
mov ecx, dword [esi + 0xb0]
jmp 0x43014b
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0xb0]
cmp al, 4
jne 0x430a24
test bl, 1
je 0x430201
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 0x10
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x430170
mov byte [esi + 0x50], 4
jmp 0x43017c
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x430195
mov ecx, dword [esi + 0xb0]
jmp 0x4301a6
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0xb0]
cmp al, 4
jne 0x430a24
test byte [esi + 0x8c], 2
je 0x430201
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 2
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x4301cb
mov byte [esi + 0x50], 4
jmp 0x4301d7
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x4301f0
mov ecx, dword [esi + 0xb0]
jmp 0x430201
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0xb0]
cmp al, 4
jne 0x430a24
test bl, 4
je 0x430258
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 0x11
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x430222
mov byte [esi + 0x50], 4
jmp 0x43022e
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x430247
mov ecx, dword [esi + 0xb0]
jmp 0x430258
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0xb0]
cmp al, 4
jne 0x430a24
test bl, 8
je 0x4302af
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 0x12
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x430279
mov byte [esi + 0x50], 4
jmp 0x430285
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x43029e
mov ecx, dword [esi + 0xb0]
jmp 0x4302af
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0xb0]
cmp al, 4
jne 0x430a24
test bl, 2
je 0x430306
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 0x10
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x4302d0
mov byte [esi + 0x50], 4
jmp 0x4302dc
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x4302f5
mov ecx, dword [esi + 0xb0]
jmp 0x430306
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0xb0]
cmp al, 4
jne 0x430a24
bt ebx, 8
jae 0x43035e
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 0x16
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x430328
mov byte [esi + 0x50], 4
jmp 0x430334
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x43034d
mov ecx, dword [esi + 0xb0]
jmp 0x43035e
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0xb0]
cmp al, 4
jne 0x430a24
test bl, 0x30
je 0x4303b5
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 0x13
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x43037f
mov byte [esi + 0x50], 4
jmp 0x43038b
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x4303a4
mov ecx, dword [esi + 0xb0]
jmp 0x4303b5
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0xb0]
cmp al, 4
jne 0x430a24
not ecx
and ecx, dword [esi + 0x8c]
test cl, 0x40
mov edi, ecx
je 0x43040e
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 0xb
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x4303e0
mov byte [esi + 0x50], 4
jmp 0x4303ec
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x430401
mov ecx, edi
jmp 0x43040e
mov eax, dword [esi + 0x30]
mov ecx, edi
cmp al, 4
jne 0x430a24
test cl, 1
je 0x43045d
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 1
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x43042f
mov byte [esi + 0x50], 4
jmp 0x43043b
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x430450
mov ecx, edi
jmp 0x43045d
mov eax, dword [esi + 0x30]
mov ecx, edi
cmp al, 4
jne 0x430a24
test cl, 4
je 0x4304ac
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 3
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x43047e
mov byte [esi + 0x50], 4
jmp 0x43048a
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x43049f
mov ecx, edi
jmp 0x4304ac
mov eax, dword [esi + 0x30]
mov ecx, edi
cmp al, 4
jne 0x430a24
test cl, 8
je 0x4304fb
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 4
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x4304cd
mov byte [esi + 0x50], 4
jmp 0x4304d9
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x4304ee
mov ecx, edi
jmp 0x4304fb
mov eax, dword [esi + 0x30]
mov ecx, edi
cmp al, 4
jne 0x430a24
test cl, 2
je 0x43054a
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 2
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x43051c
mov byte [esi + 0x50], 4
jmp 0x430528
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x43053d
mov ecx, edi
jmp 0x43054a
mov eax, dword [esi + 0x30]
mov ecx, edi
cmp al, 4
jne 0x430a24
bt ecx, 8
jae 0x43059a
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 0xd
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x43056c
mov byte [esi + 0x50], 4
jmp 0x430578
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x43058d
mov ecx, edi
jmp 0x43059a
mov eax, dword [esi + 0x30]
mov ecx, edi
cmp al, 4
jne 0x430a24
test cl, 0x10
je 0x4305e9
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 9
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x4305bb
mov byte [esi + 0x50], 4
jmp 0x4305c7
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
jne 0x4305dc
mov ecx, edi
jmp 0x4305e9
mov eax, dword [esi + 0x30]
mov ecx, edi
cmp al, 4
jne 0x430a24
mov edi, dword [esi + 0x120]
test cl, 0x20
je 0x430638
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
push 0xa
call fcn.0042a147
add esp, 4
cmp byte [esi + 8], 4
jne 0x430610
mov byte [esi + 0x50], 4
jmp 0x43061c
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
je 0x430638
mov eax, dword [esi + 0x30]
cmp al, 4
jne 0x430a24
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x28]
cmp byte [ecx + 0xc], al
jne 0x430691
cmp al, 0x12
je 0x430681
movzx eax, al
cmp eax, 0x11
jne 0x43074d
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x28]
cmp byte [ecx + 0xd], ah
jne 0x430691
mov eax, dword [esi + 0x110]
cmp byte [ecx + 0xe], al
jne 0x430691
mov eax, dword [esi + 0x15c]
cmp byte [ecx + 0xf], al
mov al, 0x11
jne 0x430691
jmp 0x430704
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x28]
cmp byte [ecx + 0xd], ah
mov al, 0x12
je 0x430704
mov ecx, dword [ecx + 0xc]
mov dword [esi + 0x90], ecx
call fcn.0042a135
lea ecx, [esi + 8]
lea edx, [esi + 0xf8]
push eax
call fcn.00429c32
add esp, 4
cmp byte [esi + 8], 4
jne 0x4306bd
mov byte [esi + 0x50], 4
jmp 0x4306c9
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
je 0x4306e5
mov eax, dword [esi + 0x30]
cmp al, 4
jne 0x431398
mov eax, dword [esi + 0x90]
mov ecx, eax
shr ecx, 0x10
mov dword [esi + 0x110], ecx
mov ecx, eax
shr ecx, 0x18
mov dword [esi + 0x15c], ecx
mov ecx, dword [esi + 0x28]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x6c]
cmp byte [ecx + 0x10], al
jne 0x430765
cmp al, 0x12
je 0x430755
movzx eax, al
cmp eax, 0x11
jne 0x4308e7
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0x28]
cmp byte [ecx + 0x11], ah
jne 0x430765
mov eax, dword [esi + 0x160]
cmp byte [ecx + 0x12], al
jne 0x430765
mov eax, dword [esi + 0x158]
cmp byte [ecx + 0x13], al
mov al, 0x11
jne 0x430765
jmp 0x4307d8
mov eax, dword [esi + 0xa0]
jmp 0x430701
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0x28]
cmp byte [ecx + 0x11], ah
mov al, 0x12
je 0x4307d8
mov ecx, dword [ecx + 0x10]
mov dword [esi + 0xc8], ecx
call fcn.0042a135
lea ecx, [esi + 8]
lea edx, [esi + 0xf8]
push eax
call fcn.00429eb4
add esp, 4
cmp byte [esi + 8], 4
jne 0x430791
mov byte [esi + 0x50], 4
jmp 0x43079d
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
lea ecx, [esi + 0x30]
lea edx, [esi + 0x50]
call fcn.00440942
cmp byte [esi + 0x30], 4
je 0x4307b9
mov eax, dword [esi + 0x30]
cmp al, 4
jne 0x431398
mov eax, dword [esi + 0xc8]
mov ecx, eax
shr ecx, 0x10
mov dword [esi + 0x160], ecx
mov ecx, eax
shr ecx, 0x18
mov dword [esi + 0x158], ecx
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x6c], eax
lea eax, [esi + 0xf8]
mov dword [esi + 0x84], ecx
xor ecx, ecx
mov ebx, edi
mov dword [esi + 8], 0x47d99c
mov edx, 0x47a660
mov dword [esi + 0x58], eax
lea eax, [esi + 0x84]
inc ecx
mov byte [esi + 0x50], 4
mov dword [esi + 0x30], eax
lea eax, [esi + 0x30]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x18], 0
mov dword [esi + 0x34], 0x420dbd
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
lea ecx, [esi + 0x50]
lea eax, [esi + 8]
push eax
call fcn.00418c00
add esp, 4
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x54]
test al, al
je 0x43085b
mov edi, dword [esi + 4]
cmp cl, 4
je 0x432a2f
cmp cl, 4
je 0x430868
mov eax, ecx
movzx ecx, cl
shr eax, 8
shl eax, 8
or ecx, eax
jmp 0x43087d
mov edi, dword [esi + 4]
cmp cl, 4
je 0x430868
call fcn.00429aac
mov ecx, dword [esi + 0x130]
lea edx, [esi + 0xf8]
and ecx, 0xffffff00
or ecx, 4
cmp cl, 4
mov dword [esi + 0x130], ecx
jne 0x43088e
mov byte [esi + 8], 4
jmp 0x430894
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
lea ecx, [esi + 0x70]
lea edx, [esi + 8]
call fcn.00440942
cmp byte [esi + 0x70], 4
jne 0x4308ad
mov ecx, dword [esi + 0x140]
jmp 0x4308be
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x140]
cmp al, 4
jne 0x431393
add ecx, 8
add edi, 0xfffffff8
mov edx, ebx
mov al, 1
mov ebx, dword [esi + 0x8c]
mov dword [esi + 0xb0], ebx
mov dword [esi + 4], edi
mov edi, ecx
mov ecx, dword [esi + 0x9c]
jne 0x42ff74
jmp 0x4308ef
mov eax, dword [esi + 0x6c]
jmp 0x4307d5
cmp dword [esi + 0xcc], 0
je 0x43090c
push dword [esi + 0x128]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 8]
lea edx, [esi + 0xf8]
push 0
call fcn.00429c32
add esp, 4
cmp byte [esi + 8], 4
jne 0x43093a
mov edx, dword [esi + 0xc]
lea ecx, [esi + 0x70]
push 0
call fcn.00429eb4
add esp, 4
mov al, byte [esi + 0x70]
jmp 0x430946
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
cmp al, 4
jne 0x4309f5
mov edi, dword [esi + 0x74]
call fcn.0042068d
test al, al
je 0x430a00
lea ebx, [esi + 0x50]
xor edx, edx
mov dword [esi + 0x38], edi
mov byte [esi + 0x30], 4
mov ecx, ebx
call fcn.004206c5
lea eax, [esi + 0x40]
mov dword [esi + 8], 0x47a67c
mov dword [esi + 0xc], 2
mov dword [esi + 0x18], 0
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], 0x4143c0
lea ecx, [esi + 0x30]
mov edx, 0x47a660
mov dword [esi + 0x10], eax
lea eax, [esi + 8]
mov dword [esi + 0x14], 1
push eax
call fcn.00418c00
add esp, 4
cmp dword [esi + 0x50], 0
mov ebx, eax
je 0x4309ca
push dword [esi + 0x54]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
test bl, bl
je 0x430a4a
cmp cl, 4
je 0x432a9b
cmp cl, 4
je 0x430a54
mov edi, ecx
movzx eax, cl
shr edi, 8
mov ecx, edi
mov edi, edx
shl ecx, 8
or ecx, eax
jmp 0x430a63
mov ecx, dword [esi + 0x70]
mov edi, dword [esi + 0x74]
mov al, byte [esi + 0x70]
jmp 0x430a65
lea ecx, [esi + 8]
mov edx, edi
call fcn.00458440
cmp byte [esi + 8], 4
je 0x430a54
cmp byte [esi + 8], 4
mov ecx, dword [esi + 0x124]
je 0x430a5a
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
jmp 0x430a63
mov ecx, dword [esi + 0x34]
mov edx, eax
movzx eax, al
shrd edx, ecx, 8
shr ecx, 8
shld ecx, edx, 8
shl edx, 8
or eax, edx
mov dword [esi + 0x80], ecx
mov dword [esi + 0x7c], eax
jmp 0x4313a4
cmp cl, 4
je 0x430a54
call fcn.00429aac
mov ecx, dword [esi + 0x124]
and ecx, 0xffffff00
or ecx, 4
mov eax, ecx
cmp al, 4
mov dword [esi + 0x124], ecx
jne 0x430a75
mov byte [esi + 8], 4
jmp 0x430a7b
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edi
lea ecx, [esi + 0x7c]
lea edx, [esi + 8]
call fcn.00440942
cmp byte [esi + 0x7c], 4
je 0x430a97
mov al, byte [esi + 0x7c]
cmp al, 4
jne 0x430b2c
call fcn.0042068d
test al, al
je 0x430ae7
lea eax, [esi + 0xf8]
mov dword [esi + 0x58], eax
mov byte [esi + 0x50], 4
push 6
push str.e__25le__25he__H_
lea eax, [esi + 0x50]
push eax
call fcn.00429b08
add esp, 0xc
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x54]
test al, al
je 0x430b37
cmp cl, 4
je 0x432a8b
cmp cl, 4
je 0x430b41
mov eax, ecx
movzx ecx, cl
shr eax, 8
shl eax, 8
or eax, ecx
jmp 0x430b1d
lea ecx, [esi + 8]
lea edx, [esi + 0xf8]
call fcn.00458440
cmp byte [esi + 8], 4
je 0x430b01
cmp byte [esi + 8], 4
jne 0x430b17
lea ecx, [esi + 8]
xor edx, edx
call fcn.00420403
cmp byte [esi + 8], 4
je 0x430b41
cmp byte [esi + 8], 4
je 0x430b41
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
cmp al, 4
je 0x430b41
lea ebx, [esi + 8]
mov dword [esi + 0xc], edx
mov dword [esi + 8], eax
jmp 0x430b51
mov edx, dword [esi + 0x80]
jmp 0x430bfa
cmp cl, 4
je 0x430b41
call fcn.00429aac
lea ebx, [esi + 8]
lea edx, [esi + 0xf8]
mov ecx, ebx
call fcn.00458440
lea ecx, [esi + 0x70]
mov edx, ebx
call fcn.00440942
cmp byte [esi + 0x70], 4
je 0x430b6c
mov al, byte [esi + 0x70]
cmp al, 4
jne 0x430bf2
xor ecx, ecx
mov byte [esi + 0x10a], 1
inc ecx
sub ecx, dword [esi + 0xfc]
cmp ecx, 1
ja 0x4329d6
lea edx, [ecx + ecx*4]
mov eax, dword [esi + edx*4 + 0xd8]
test eax, eax
je 0x430bb8
mov ecx, dword [esi + edx*4 + 0xd4]
shl eax, 3
lea edi, [eax + eax*2]
lea ebx, [ecx + 0x18]
call fcn.00440ca8
add edi, 0xffffffe8
mov ecx, ebx
jne 0x430ba0
xor ecx, ecx
inc ecx
sub ecx, dword [esi + 0xfc]
mov dword [esi + 0xfc], ecx
lea ecx, [esi + 8]
lea edx, [esi + 0xf8]
call fcn.00458440
cmp byte [esi + 8], 4
je 0x430bd9
mov al, byte [esi + 8]
cmp al, 4
jne 0x430bf7
xor ecx, ecx
mov ebx, dword [esi + 0x114]
inc ecx
sub ecx, dword [esi + 0xfc]
cmp ecx, 2
jb 0x430c08
jmp 0x4329e5
mov edx, dword [esi + 0x74]
jmp 0x430bfa
mov edx, dword [esi + 0xc]
movzx ecx, al
call fcn.00429aac
mov ebx, dword [esi + 0x114]
mov ecx, dword [esi + 0x178]
mov edi, dword [esi + 0x1ac]
mov edx, dword [esi + 0x174]
cmp ebx, ecx
mov eax, edi
sbb eax, edx
jb 0x430d56
xor ebx, ecx
xor edi, edx
or edi, ebx
mov ebx, edx
jne 0x430c42
mov eax, dword [esi + 0x180]
cmp eax, dword [esi + 0x12c]
jb 0x430d56
add ecx, 1
mov eax, 0x3b9aca00
mov edx, ecx
mov ecx, dword [esi + 0x12c]
adc ebx, 0
cmovb ecx, eax
mov eax, 0x3b9ac9ff
cmp ecx, 0x3b9aca00
cmove ecx, eax
mov eax, 0xffffffff
cmove ebx, eax
cmove edx, eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x12c], ecx
mov dword [esi + 0x178], edx
mov dword [esi + 0x174], ebx
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x34]
mov dword [esi + 0xb0], ecx
sub ecx, dword [eax + 0x40]
mov dword [esi + 0x8c], edx
sbb edx, dword [eax + 0x44]
mov dword [eax + 0x50], ecx
mov dword [esi + 4], ecx
mov dword [eax + 0x54], edx
mov dword [esi + 0x28], edx
mov ecx, dword [eax + 0x38]
mov ebx, dword [eax + 0x3c]
mov edx, ecx
mov edi, ebx
sub edx, dword [eax + 0x48]
sbb edi, dword [eax + 0x4c]
mov dword [eax + 0x58], edx
mov edx, dword [esi + 0xb0]
mov dword [eax + 0x5c], edi
mov dword [eax + 0x40], edx
mov edx, dword [esi + 0x8c]
mov dword [eax + 0x44], edx
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], ebx
mov edx, dword [eax + 0x98]
cmp edx, dword [eax + 0x90]
jne 0x430cfa
mov ecx, dword [esi + 0x19c]
call fcn.0042b16c
mov eax, dword [esi + 0x68]
mov edx, dword [eax + 0x98]
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0x28]
mov eax, dword [eax + 0x94]
mov dword [eax + edx*8], ecx
mov dword [eax + edx*8 + 4], edi
mov eax, dword [esi + 0x68]
inc dword [eax + 0x98]
mov edx, dword [eax + 0xa4]
mov ebx, dword [eax + 0x5c]
mov edi, dword [eax + 0x58]
cmp edx, dword [eax + 0x9c]
jne 0x430d41
mov ecx, dword [esi + 0x198]
call fcn.0042b16c
mov eax, dword [esi + 0x68]
mov edx, dword [eax + 0xa4]
mov ecx, eax
mov eax, dword [eax + 0xa0]
mov dword [eax + edx*8 + 4], ebx
mov dword [eax + edx*8], edi
inc dword [ecx + 0xa4]
mov edi, dword [esi + 0x94]
mov edx, dword [esi + 0x134]
lea ecx, [esi + 8]
push dword [esi + 0x138]
call fcn.0042b24b
add esp, 4
mov eax, dword [esi + 8]
xor ebx, ebx
mov dword [esi + 4], 0
lea ecx, [eax - 0x14]
lea edx, [eax - 0x13]
cmp ecx, 3
cmovae edx, ebx
mov ebx, 0x14
mov ecx, dword [edx*4 + 0x432d9c]
add ecx, dword [esi + 0x17c]
jmp ecx
mov ecx, dword [esi + 0x74]
jmp 0x43139b
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x7c], eax
mov dword [esi + 0x80], ecx
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x430a86
push dword [esi + 0x128]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x430a86
mov edx, dword [esi + 0x54]
jmp 0x42fa91
cmp dword [esi + 0xd0], 0x80000000
je 0x431487
lea edi, [esi + 8]
lea edx, [esi + 0xd0]
mov ecx, edi
call fcn.0042f26c
mov al, byte [edi]
cmp al, 4
je 0x431487
mov edx, dword [esi + 0xc]
movzx ecx, al
call fcn.00429aac
lea edi, [esi + 8]
mov ecx, edi
call fcn.004215ff
cmp byte [edi], 4
jne 0x43149b
mov edi, dword [esi + 0xc]
jmp 0x4314a7
movzx eax, byte [esi + 8]
mov edi, dword [esi + 0xc]
cmp eax, 4
jne 0x4314f5
lea ebx, [esi + 8]
mov edx, edi
mov ecx, ebx
call fcn.004215c7
cmp byte [ebx], 4
jne 0x4314bd
mov ebx, dword [esi + 0xc]
jmp 0x4314c7
mov al, byte [esi + 8]
mov ebx, dword [esi + 0xc]
cmp al, 4
jne 0x4314fe
or ebx, 7
lea ecx, [esi + 8]
mov edx, edi
push ebx
call fcn.0042159e
add esp, 4
lea eax, [esi + 8]
cmp byte [eax], 4
je 0x4314e7
mov eax, dword [esi + 8]
cmp al, 4
jne 0x4314fb
lock dec dword [edi]
jne 0x431518
mov ecx, edi
call fcn.0042105a
jmp 0x431518
je 0x431518
mov ebx, edi
jmp 0x43150e
mov ebx, dword [esi + 0xc]
lock dec dword [edi]
jne 0x43150e
mov ecx, edi
mov edi, eax
call fcn.0042105a
mov eax, edi
movzx ecx, al
mov edx, ebx
call fcn.00429aac
mov eax, dword [0x48fce4]
cmp eax, 3
jne 0x43250d
lea eax, [0x48fce8]
mov dword [esi + 0x70], eax
call fcn.00420e0e
test al, al
je 0x431573
lea edi, [esi + 0x50]
lea eax, [esi + 0x70]
mov edx, 0x47a7a0
mov ecx, edi
mov dword [edi + 8], eax
mov byte [edi], 4
call fcn.0042aebf
mov ecx, dword [edi]
mov edi, dword [edi + 4]
test al, al
je 0x43159f
cmp cl, 4
je 0x432af2
cmp cl, 4
je 0x431609
movzx eax, cl
jmp 0x431604
lea edi, [esi + 8]
lea edx, [esi + 0x70]
mov ecx, edi
call fcn.00458440
cmp byte [edi], 4
je 0x43158b
cmp byte [esi + 8], 4
jne 0x4315e1
lea edi, [esi + 8]
mov ecx, edi
call fcn.00421150
cmp byte [edi], 4
jne 0x4315ad
mov ebx, dword [esi + 0xc]
jmp 0x4315bb
cmp cl, 4
je 0x431609
mov edx, edi
call fcn.00429aac
jmp 0x431609
movzx eax, byte [esi + 8]
mov ebx, dword [esi + 0xc]
cmp eax, 4
mov edi, ebx
jne 0x4315fd
lea edi, [esi + 8]
mov edx, ebx
mov ecx, edi
call fcn.004216b1
cmp byte [edi], 4
je 0x4315d3
mov eax, dword [esi + 8]
cmp al, 4
jne 0x4315ea
lock dec dword [ebx]
jne 0x431609
mov ecx, ebx
call fcn.0042105a
jmp 0x431609
movzx eax, byte [esi + 8]
mov edi, dword [esi + 0xc]
jmp 0x431604
mov edi, dword [esi + 0xc]
lock dec dword [ebx]
jne 0x4315fd
mov ecx, ebx
mov ebx, eax
call fcn.0042105a
mov eax, ebx
cmp al, 4
je 0x431609
movzx eax, al
cmp eax, 4
jne 0x431627
lea edi, [esi + 8]
lea edx, [esi + 0x70]
mov ecx, edi
call fcn.00458440
cmp byte [edi], 4
je 0x431635
cmp byte [esi + 8], 4
je 0x431635
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
cmp al, 4
je 0x431635
movzx ecx, al
mov edx, edi
call fcn.00429aac
mov eax, dword [esi + 0x68]
cmp dword [eax + 0xb0], 0
je 0x431afb
mov ecx, 0x48fd0c
call fcn.00458a00
lea edx, [esi + 0x7c]
lea eax, [0x474293]
mov ecx, 0x7818edd0
mov dword [edx], 0x48fd0c
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add ecx, dword [0x48f394]
xor ecx, 0xeaa5e61a
inc ecx
rol ecx, 2
movzx edi, cx
mov ecx, 0xa5ea9a3
xor ecx, dword [eax + edi]
movzx ebx, byte [eax + edi + 6]
movzx eax, word [eax + edi + 4]
mov dword [esi + 8], 0x47aa68
mov dword [esi + 0xc], 2
mov dword [esi + 0x18], 0
lea edi, [esi + 0x40]
xor eax, 0x64d6
mov dword [esi + 0x70], ecx
xor bl, 0x3e
mov ecx, edi
mov word [esi + 0x74], ax
lea eax, [esi + 0x70]
mov byte [esi + 0x76], bl
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x54], 7
mov dword [esi + 0x30], eax
lea eax, [esi + 0x30]
mov dword [esi + 0x34], 0x418ba0
mov dword [esi + 0x10], eax
lea eax, [esi + 8]
mov dword [esi + 0x14], 1
push eax
call fcn.0042a639
add esp, 4
mov al, byte [edi]
cmp al, 4
je 0x4316fe
mov edx, dword [esi + 0x44]
movzx ecx, al
call fcn.00429aac
mov eax, dword [esi + 0x7c]
dec dword [eax + 8]
jne 0x431714
mov dword [eax + 4], 0
push eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x431a93
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*2]
mov edi, dword [ecx + 0xac]
lea ebx, [edi + eax*8]
mov dword [esi + 4], ebx
mov eax, dword [edi]
cmp eax, 1
je 0x431930
cmp eax, 5
je 0x4317fd
cmp eax, 6
jne 0x431a88
mov ecx, 0x48fd0c
mov dword [esi + 0x2c], edi
call fcn.00458a00
lea eax, [0x46d675]
mov dword [esi + 0x84], 0x48fd0c
mov dl, 1
mov dword [esi + 8], eax
mov eax, 0x2ae2247a
mov ecx, dword [esi + 8]
sub eax, dword [0x48f3a0]
xor eax, 0x37a01ce6
imul eax, eax, 0xe0c5fa03
add eax, 0xde1f9c5b
rol eax, 1
movzx eax, ax
add eax, ecx
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
mov ebx, ecx
movzx edi, byte [ecx + 0x47aac1]
or ebx, 1
movzx ebx, byte [ebx + 0x47aac1]
shl ebx, 8
or ebx, edi
mov edi, ecx
or edi, 2
movzx edi, byte [edi + 0x47aac1]
shl edi, 0x10
or ebx, edi
mov edi, ecx
or edi, 3
movzx edi, byte [edi + 0x47aac1]
shl edi, 0x18
or ebx, edi
xor ebx, dword [eax + ecx]
test dl, 1
mov edx, 0
mov dword [esi + ecx + 8], ebx
mov ecx, 4
jne 0x4317a3
mov al, byte [eax + 8]
xor al, 0xf9
jmp 0x431893
mov ecx, 0x48fd0c
mov dword [esi + 0x2c], edi
call fcn.00458a00
lea eax, [0x47a1fe]
mov dword [esi + 0x84], 0x48fd0c
mov dl, 1
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [0x48f3a4]
rol eax, 4
add eax, 0xe3ec78c7
rol eax, 1
movzx eax, ax
add eax, ecx
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
mov ebx, ecx
movzx edi, byte [ecx + 0x47aab8]
or ebx, 1
movzx ebx, byte [ebx + 0x47aab8]
shl ebx, 8
or ebx, edi
mov edi, ecx
or edi, 2
movzx edi, byte [edi + 0x47aab8]
shl edi, 0x10
or ebx, edi
mov edi, ecx
or edi, 3
movzx edi, byte [edi + 0x47aab8]
shl edi, 0x18
or ebx, edi
xor ebx, dword [eax + ecx]
test dl, 1
mov edx, 0
mov dword [esi + ecx + 8], ebx
mov ecx, 4
jne 0x43183e
mov al, byte [eax + 8]
xor al, 0x65
movq xmm0, qword [esi + 8]
mov edi, dword [esi + 0x2c]
mov byte [esi + 0x38], al
lea eax, [esi + 0x30]
lea edx, [esi + 0x84]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], 9
movq qword [esi + 0x30], xmm0
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [esi + 8], 0x47aaa0
mov dword [esi + 0xc], 3
mov dword [esi + 0x18], 0
mov dword [esi + 0x40], eax
lea eax, [esi + 0x70]
mov dword [esi + 0x44], ecx
lea ecx, [esi + 0x7c]
mov dword [esi + 0x50], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x54], 0x418ba0
mov dword [esi + 0x58], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x5c], 0x459b60
mov dword [esi + 0x10], eax
lea eax, [esi + 8]
mov dword [esi + 0x14], 2
push eax
call fcn.0042a639
add esp, 4
mov al, byte [esi + 0x7c]
cmp al, 4
je 0x431922
mov edx, dword [esi + 0x80]
movzx ecx, al
call fcn.00429aac
mov eax, dword [esi + 0x84]
mov ebx, dword [esi + 4]
jmp 0x431a75
lea eax, [edi + 4]
mov ecx, 0x48fd0c
mov dword [esi + 0x1b4], eax
call fcn.00458a00
lea eax, [0x470da1]
mov dword [esi + 0x84], 0x48fd0c
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [0x48f398]
mov edx, ecx
shr edx, 0x11
xor edx, ecx
mov ecx, 0xffff
add edx, 0x66d49a25
rol edx, 3
and edx, ecx
movzx eax, word [eax + edx]
mov edx, 0xffff
xor eax, 0xf13b
mov word [esi + 0x13c], ax
lea eax, [esi + 0x13c]
mov dword [esi + 0x70], eax
mov eax, 2
mov dword [esi + 0x74], eax
lea eax, [0x47194e]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [0x48f39c]
rol ecx, 1
not ecx
imul ecx, ecx, 0xf898574a
add ecx, 0x3b3ccfdb
rol ecx, 1
and ecx, edx
lea edx, [esi + 0x84]
movzx eax, word [eax + ecx]
xor eax, 0xd78a
mov word [esi + 0x13e], ax
lea eax, [esi + 0x13e]
mov dword [esi + 0x40], eax
mov eax, 2
mov dword [esi + 0x44], eax
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x50], 0x47aa78
mov dword [esi + 0x54], 5
mov dword [esi + 0x60], 0
mov dword [esi + 0x30], eax
lea eax, [esi + 0x70]
mov dword [esi + 0x34], ecx
mov ecx, 0x418ba0
mov dword [esi + 8], eax
lea eax, [esi + 0x1b4]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x14], 0x42a849
mov dword [esi + 0x18], eax
lea eax, [esi + 0x30]
mov dword [esi + 0x1c], ecx
lea ecx, [esi + 0x7c]
mov dword [esi + 0x20], eax
lea eax, [esi + 8]
mov dword [esi + 0x24], 0x459b60
mov dword [esi + 0x58], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x5c], 4
push eax
call fcn.0042a639
add esp, 4
mov al, byte [esi + 0x7c]
cmp al, 4
je 0x431a6f
mov edx, dword [esi + 0x80]
movzx ecx, al
call fcn.00429aac
mov eax, dword [esi + 0x84]
dec dword [eax + 8]
jne 0x431a88
mov dword [eax + 4], 0
push eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
add edi, 0x18
cmp edi, ebx
jne 0x431737
mov ecx, 0x48fd0c
call fcn.00458a00
xor eax, eax
lea edx, [esi + 0x30]
mov dword [esi + 8], 0x47e6f4
mov dword [esi + 0xc], 1
lea edi, [esi + 0x50]
mov dword [esi + 0x18], eax
mov dword [esi + 0x10], 0x486600
mov dword [esi + 0x14], eax
lea eax, [esi + 8]
mov dword [edx], 0x48fd0c
mov ecx, edi
push eax
call fcn.0042a639
add esp, 4
mov al, byte [edi]
cmp al, 4
je 0x431ae5
mov edx, dword [esi + 0x54]
movzx ecx, al
call fcn.00429aac
mov eax, dword [esi + 0x30]
dec dword [eax + 8]
jne 0x431afb
mov dword [eax + 4], 0
push eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov ecx, 0x48fd0c
call fcn.00458a00
lea eax, [0x46fef9]
mov dword [esi + 0x7c], 0x48fd0c
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov edx, dword [0x48f3a8]
mov eax, edx
shr eax, 0x1e
xor eax, edx
mov dl, 1
rol eax, 2
add eax, 0xc8aeb84
rol eax, 3
movzx eax, ax
add eax, ecx
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
mov edi, ecx
movzx ebx, byte [ecx + 0x47aaca]
or edi, 1
movzx edi, byte [edi + 0x47aaca]
shl edi, 8
or edi, ebx
mov ebx, ecx
or ebx, 2
movzx ebx, byte [ebx + 0x47aaca]
shl ebx, 0x10
or edi, ebx
mov ebx, ecx
or ebx, 3
movzx ebx, byte [ebx + 0x47aaca]
shl ebx, 0x18
or edi, ebx
xor edi, dword [eax + ecx]
test dl, 1
mov edx, 0
mov dword [esi + ecx + 8], edi
mov ecx, 4
jne 0x431b3f
movzx ecx, byte [eax + 0xa]
movzx eax, word [eax + 8]
lea ebx, [esi + 0x70]
lea edx, [esi + 0x7c]
xor eax, 0x582
xor cl, 0x69
mov word [esi + 0x10], ax
mov byte [esi + 0x12], cl
mov ecx, ebx
movsd xmm0, qword [esi + 8]
mov eax, dword [esi + 0xf]
mov dword [esi + 8], 0x47aa68
mov dword [esi + 0xc], 2
mov dword [esi + 0x18], 0
movsd qword [esi + 0x50], xmm0
mov dword [esi + 0x57], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x30], eax
lea eax, [esi + 0x30]
mov dword [esi + 0x34], 0xb
mov dword [esi + 0x40], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x44], 0x418ba0
mov dword [esi + 0x10], eax
lea eax, [esi + 8]
mov dword [esi + 0x14], 1
push eax
call fcn.0042a639
add esp, 4
mov al, byte [ebx]
cmp al, 4
je 0x431c17
mov edx, dword [esi + 0x74]
movzx ecx, al
call fcn.00429aac
mov eax, dword [esi + 0x7c]
dec dword [eax + 8]
jne 0x431c2d
mov dword [eax + 4], 0
push eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov ecx, 0x48fd0c
call fcn.00458a00
lea eax, [0x47754a]
mov dword [esi + 0x84], 0x48fd0c
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
imul eax, dword [0x48f3ac], 0xa5ecec0e
add eax, 0x76b0a1ea
xor eax, 0x1943
rol eax, 3
movzx eax, ax
add eax, ecx
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0x10], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47aad9]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0xc], edx
add ecx, 4
cmp ecx, 8
jb 0x431c79
mov eax, dword [esi + 0x10]
movsd xmm0, qword [esi + 8]
mov ecx, 0xc
xor edx, edx
mov dword [esi + 0x48], eax
movsd qword [esi + 0x40], xmm0
call fcn.0043b1bc
movsd xmm0, qword [esi + 0x40]
lea edi, [esi + 0x30]
movsd qword [edx], xmm0
mov ecx, dword [esi + 0x48]
mov dword [edx + 8], ecx
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov edx, dword [esi + 0x188]
mov ecx, edi
mov dword [esi + 0x78], 0xc
call fcn.0042ef51
mov eax, 0x4143c0
mov dword [esi + 0x50], ebx
mov dword [esi + 8], 0x47aaa0
mov dword [esi + 0xc], 3
mov dword [esi + 0x18], 0
lea edx, [esi + 0x84]
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], eax
lea eax, [esi + 0x50]
lea edi, [esi + 0x7c]
mov dword [esi + 0x10], eax
lea eax, [esi + 8]
mov dword [esi + 0x14], 2
mov ecx, edi
push eax
call fcn.0042a639
add esp, 4
mov al, byte [edi]
cmp al, 4
je 0x431d35
mov edx, dword [esi + 0x80]
movzx ecx, al
call fcn.00429aac
cmp dword [esi + 0x30], 0
je 0x431d4c
push dword [esi + 0x34]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x70], 0
je 0x431d63
push dword [esi + 0x74]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x84]
dec dword [eax + 8]
jne 0x431d7c
mov dword [eax + 4], 0
push eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov ecx, 0x48fd0c
call fcn.00458a00
lea eax, [0x477fe3]
mov dword [esi + 0x84], 0x48fd0c
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [0x48f3b0]
mov edx, eax
shr edx, 0x13
xor edx, eax
mov eax, edx
not eax
shr eax, 0xc
xor eax, edx
xor eax, 0x7ace
rol eax, 1
movzx eax, ax
add eax, ecx
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0x10], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47aae5]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0xc], edx
add ecx, 4
cmp ecx, 8
jb 0x431dcd
mov eax, dword [esi + 0x10]
movsd xmm0, qword [esi + 8]
mov ecx, 0xc
xor edx, edx
mov dword [esi + 0x48], eax
movsd qword [esi + 0x40], xmm0
call fcn.0043b1bc
movsd xmm0, qword [esi + 0x40]
lea edi, [esi + 0x30]
movsd qword [edx], xmm0
mov ecx, dword [esi + 0x48]
mov dword [edx + 8], ecx
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov edx, dword [esi + 0x18c]
mov ecx, edi
mov dword [esi + 0x78], 0xc
call fcn.0042ef51
mov eax, 0x4143c0
mov dword [esi + 0x50], ebx
mov dword [esi + 8], 0x47aaa0
mov dword [esi + 0xc], 3
mov dword [esi + 0x18], 0
lea edx, [esi + 0x84]
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], eax
lea eax, [esi + 0x50]
lea edi, [esi + 0x7c]
mov dword [esi + 0x10], eax
lea eax, [esi + 8]
mov dword [esi + 0x14], 2
mov ecx, edi
push eax
call fcn.0042a639
add esp, 4
mov al, byte [edi]
cmp al, 4
je 0x431e89
mov edx, dword [esi + 0x80]
movzx ecx, al
call fcn.00429aac
cmp dword [esi + 0x30], 0
je 0x431ea0
push dword [esi + 0x34]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x70], 0
je 0x431eb7
push dword [esi + 0x74]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x84]
dec dword [eax + 8]
jne 0x431ed0
mov dword [eax + 4], 0
push eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov ecx, 0x48fd0c
call fcn.00458a00
lea eax, [0x46b45f]
mov dword [esi + 0x84], 0x48fd0c
mov dword [esi + 8], eax
mov eax, 0x422387f4
mov ecx, dword [esi + 8]
add eax, dword [0x48f3b4]
mov edx, eax
shr edx, 0x18
xor edx, eax
imul eax, edx, 0x751fd305
rol eax, 3
movzx eax, ax
add eax, ecx
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0x10], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47aaf1]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0xc], edx
add ecx, 4
cmp ecx, 8
jb 0x431f20
mov eax, dword [esi + 0x10]
movsd xmm0, qword [esi + 8]
mov ecx, 0xc
xor edx, edx
mov dword [esi + 0x48], eax
movsd qword [esi + 0x40], xmm0
call fcn.0043b1bc
movsd xmm0, qword [esi + 0x40]
lea edi, [esi + 0x30]
movsd qword [edx], xmm0
mov ecx, dword [esi + 0x48]
mov dword [edx + 8], ecx
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov edx, dword [esi + 0x190]
mov ecx, edi
mov dword [esi + 0x78], 0xc
call fcn.0042ef51
mov eax, 0x4143c0
mov dword [esi + 0x50], ebx
mov dword [esi + 8], 0x47aaa0
mov dword [esi + 0xc], 3
mov dword [esi + 0x18], 0
lea edx, [esi + 0x84]
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], eax
lea eax, [esi + 0x50]
lea edi, [esi + 0x7c]
mov dword [esi + 0x10], eax
lea eax, [esi + 8]
mov dword [esi + 0x14], 2
mov ecx, edi
push eax
call fcn.0042a639
add esp, 4
mov al, byte [edi]
cmp al, 4
je 0x431fdc
mov edx, dword [esi + 0x80]
movzx ecx, al
call fcn.00429aac
cmp dword [esi + 0x30], 0
je 0x431ff3
push dword [esi + 0x34]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x70], 0
je 0x43200a
push dword [esi + 0x74]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x84]
dec dword [eax + 8]
jne 0x432023
mov dword [eax + 4], 0
push eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov ecx, 0x48fd0c
call fcn.00458a00
lea eax, [0x475730]
mov dword [esi + 0x84], 0x48fd0c
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
imul eax, dword [0x48f3b8], 0x63f62dc3
add eax, 0xdfaf6e0f
rol eax, 3
movzx eax, ax
add eax, ecx
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0x10], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47aafd]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0xc], edx
add ecx, 4
cmp ecx, 8
jb 0x43206a
mov eax, dword [esi + 0x10]
movsd xmm0, qword [esi + 8]
mov ecx, 0xc
xor edx, edx
mov dword [esi + 0x48], eax
movsd qword [esi + 0x40], xmm0
call fcn.0043b1bc
movsd xmm0, qword [esi + 0x40]
lea edi, [esi + 0x30]
movsd qword [edx], xmm0
mov ecx, dword [esi + 0x48]
mov dword [edx + 8], ecx
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov edx, dword [esi + 0x150]
mov ecx, edi
mov dword [esi + 0x78], 0xc
call fcn.0042ef51
mov eax, 0x4143c0
mov dword [esi + 0x50], ebx
mov dword [esi + 8], 0x47aaa0
mov dword [esi + 0xc], 3
mov dword [esi + 0x18], 0
lea edx, [esi + 0x84]
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], eax
lea eax, [esi + 0x50]
lea edi, [esi + 0x7c]
mov dword [esi + 0x10], eax
lea eax, [esi + 8]
mov dword [esi + 0x14], 2
mov ecx, edi
push eax
call fcn.0042a639
add esp, 4
mov al, byte [edi]
cmp al, 4
je 0x432126
mov edx, dword [esi + 0x80]
movzx ecx, al
call fcn.00429aac
cmp dword [esi + 0x30], 0
je 0x43213d
push dword [esi + 0x34]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x70], 0
je 0x432154
push dword [esi + 0x74]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x84]
dec dword [eax + 8]
jne 0x43216d
mov dword [eax + 4], 0
push eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov ecx, 0x48fd0c
call fcn.00458a00
lea eax, [0x46af3f]
mov dword [esi + 0x84], 0x48fd0c
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
imul eax, dword [0x48f3bc], 0x2976620b
add eax, 0xe4b75cf7
rol eax, 1
movzx eax, ax
add eax, ecx
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0x10], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47ab09]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0xc], edx
add ecx, 4
cmp ecx, 8
jb 0x4321b3
mov eax, dword [esi + 0x10]
movsd xmm0, qword [esi + 8]
mov ecx, 0xc
xor edx, edx
mov dword [esi + 0x48], eax
movsd qword [esi + 0x40], xmm0
call fcn.0043b1bc
movsd xmm0, qword [esi + 0x40]
lea edi, [esi + 0x30]
movsd qword [edx], xmm0
mov ecx, dword [esi + 0x48]
mov dword [edx + 8], ecx
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov edx, dword [esi + 0x154]
mov ecx, edi
mov dword [esi + 0x78], 0xc
call fcn.0042ef51
mov eax, 0x4143c0
mov dword [esi + 0x50], ebx
mov dword [esi + 8], 0x47aaa0
mov dword [esi + 0xc], 3
mov dword [esi + 0x18], 0
lea edx, [esi + 0x84]
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], eax
lea eax, [esi + 0x50]
lea edi, [esi + 0x7c]
mov dword [esi + 0x10], eax
lea eax, [esi + 8]
mov dword [esi + 0x14], 2
mov ecx, edi
push eax
call fcn.0042a639
add esp, 4
mov al, byte [edi]
cmp al, 4
je 0x43226f
mov edx, dword [esi + 0x80]
movzx ecx, al
call fcn.00429aac
cmp dword [esi + 0x30], 0
je 0x432286
push dword [esi + 0x34]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x70], 0
je 0x43229d
push dword [esi + 0x74]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x84]
dec dword [eax + 8]
jne 0x4322b6
mov dword [eax + 4], 0
push eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov ecx, 0x48fd0c
call fcn.00458a00
lea eax, [0x475762]
mov dword [esi + 0x84], 0x48fd0c
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov edx, dword [0x48f3c0]
mov eax, edx
shr eax, 1
xor eax, edx
mov edx, eax
dec eax
neg edx
shr edx, 0x1f
xor eax, edx
rol eax, 3
movzx eax, ax
add eax, ecx
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0x10], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47ab15]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0xc], edx
add ecx, 4
cmp ecx, 8
jb 0x432304
mov eax, dword [esi + 0x10]
movsd xmm0, qword [esi + 8]
mov ecx, 0xc
xor edx, edx
mov dword [esi + 0x48], eax
movsd qword [esi + 0x40], xmm0
call fcn.0043b1bc
movq xmm0, qword [esi + 0x40]
movq qword [edx], xmm0
mov ecx, dword [esi + 0x48]
mov dword [edx + 8], ecx
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x74], edx
mov dword [esi + 0x78], 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push dword [eax + 8]
call fcn.0045a1b0
add esp, 4
mov edi, edx
lea ebx, [esi + 0x30]
mov edx, eax
mov ecx, ebx
push edi
call fcn.0042e8ff
add esp, 4
lea eax, [esi + 0x70]
mov dword [esi + 8], 0x47aaa0
mov dword [esi + 0xc], 3
lea edi, [esi + 0x7c]
mov dword [esi + 0x18], 0
mov dword [esi + 0x50], eax
mov eax, 0x4143c0
mov ecx, edi
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], eax
lea eax, [esi + 0x50]
lea ebx, [esi + 0x84]
mov dword [esi + 0x10], eax
lea eax, [esi + 8]
mov dword [esi + 0x14], 2
mov edx, ebx
push eax
call fcn.0042a639
add esp, 4
mov al, byte [edi]
cmp al, 4
je 0x4323da
mov edx, dword [esi + 0x80]
movzx ecx, al
call fcn.00429aac
cmp dword [esi + 0x30], 0
je 0x4323f1
push dword [esi + 0x34]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x70], 0
je 0x432408
push dword [esi + 0x74]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x84]
dec dword [eax + 8]
jne 0x432421
mov dword [eax + 4], 0
push eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
cmp dword [esi + 0xd0], 0x80000000
je 0x43287d
cmp byte [esi + 0x10a], 0
je 0x43280f
call fcn.0042068d
test al, al
je 0x432495
lea eax, [esi + 0xf8]
mov dword [esi + 0x58], eax
mov byte [esi + 0x50], 4
push 6
push 0x47a622
lea eax, [esi + 0x50]
push eax
call fcn.00429b08
add esp, 0xc
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x54]
test al, al
je 0x4324ca
cmp cl, 4
je 0x432b34
cmp cl, 4
je 0x43253f
mov ebx, ecx
movzx eax, cl
and ebx, 0xffffff00
or eax, ebx
jmp 0x432531
lea ebx, [esi + 8]
lea edx, [esi + 0xf8]
mov ecx, ebx
call fcn.00458440
cmp byte [ebx], 4
je 0x4324b0
cmp byte [esi + 8], 4
jne 0x43252b
xor edx, edx
lea ebx, [esi + 8]
inc edx
mov ecx, ebx
call fcn.00420403
cmp byte [ebx], 4
jne 0x432517
lea ebx, [esi + 0x84]
jmp 0x43253f
cmp cl, 4
je 0x43253f
call fcn.00429aac
jmp 0x43253f
call fcn.00471eb0
jmp 0x42f5a8
call fcn.00471eb0
jmp 0x42f71b
mov edi, dword [esi + 0xd4]
lock dec dword [ebx]
jne 0x432500
mov ecx, ebx
mov ebx, eax
call fcn.0042105a
mov eax, ebx
cmp al, 4
jne 0x42f6be
jmp 0x42f6d5
call fcn.00471eb0
jmp 0x431526
cmp byte [esi + 8], 4
lea ebx, [esi + 0x84]
je 0x43253f
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
jmp 0x432537
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea ebx, [esi + 0x84]
cmp al, 4
jne 0x43264f
lea ecx, [esi + 8]
lea edx, [esi + 0xf8]
call fcn.00458440
lea edi, [esi + 0x70]
lea edx, [esi + 8]
mov ecx, edi
call fcn.00440942
cmp byte [edi], 4
je 0x432566
mov eax, dword [esi + 0x70]
cmp al, 4
jne 0x432572
mov byte [esi + 0x10a], 0
jmp 0x43280f
mov ecx, dword [esi + 0x74]
mov dword [esi + 0x84], eax
lea eax, [esi + 0x7c]
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x50], 0x47a6a8
mov dword [esi + 0x54], 2
mov dword [esi + 0x60], 0
mov dword [esi + 0x70], str.stderr_G__5Z___iG_sC__iEK5___Ufadvancing_io_slices_beyond_their_length
mov dword [esi + 0x80], fcn.00455dc0
mov dword [esi + 0x74], 6
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], 1
mov dword [esi + 0x88], ecx
mov al, byte [0x48fce0]
test al, al
je 0x43261e
call fcn.00458df0
test eax, eax
je 0x43261e
mov edi, dword [eax]
mov dword [eax], 0
test edi, edi
je 0x43261e
lea ecx, [edi + 8]
mov dword [esi + 0xb0], eax
mov dword [esi + 4], ecx
push ecx
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x48fdb0]
mov dword [esi + 0x2c], edi
test eax, 0x7fffffff
je 0x43273e
mov dword [esi + 0x1c8], 0
call fcn.00471dd0
mov edi, dword [esi + 0x2c]
xor al, 1
mov dword [esi + 0x28], eax
jmp 0x432745
call fcn.0044f7d0
test eax, eax
je 0x432b40
mov ecx, dword [0x48fd10]
mov edi, eax
cmp ecx, edi
jne 0x43267e
mov eax, dword [0x48fd14]
inc eax
je 0x432bb0
mov dword [esi + 0x1c8], 5
jmp 0x43269c
mov dword [esi + 0xc], edx
mov dword [esi + 8], eax
jmp 0x43254d
mov ecx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
mov edx, 0x39
push 0x47bd54
call fcn.0046ea20
mov edx, dword [esi + 0x110]
push 0x47bd64
call fcn.0046e960
push 0x48fd0c
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
xor eax, eax
mov dword [0x48fd10], edi
mov dword [esi + 0x1c8], 5
inc eax
mov dword [0x48fd14], eax
lea ecx, [esi + 8]
lea eax, [esi + 0x30]
mov dword [esi + 0x30], 0x48fd0c
mov edx, 0x47d6c0
mov dword [ecx + 8], eax
lea eax, [esi + 0x50]
mov byte [ecx], 4
push eax
call fcn.00418c00
add esp, 4
mov cl, byte [esi + 8]
test al, al
je 0x4326e0
cmp cl, 4
jne 0x432733
mov edi, 0x47df34
mov ebx, 2
jmp 0x4327df
cmp cl, 3
mov ebx, 4
jne 0x4327df
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
mov dword [esi + 4], eax
mov eax, dword [eax + 4]
mov dword [esi + 0x1c8], 4
mov dword [esi + 0x28], ecx
push ecx
mov dword [esi + 0x2c], eax
call dword [eax]
add esp, 4
mov eax, dword [esi + 0x2c]
mov ebx, 4
cmp dword [eax + 4], 0
je 0x4327ce
cmp dword [eax + 8], 9
jae 0x4327b9
mov eax, dword [esi + 0x28]
jmp 0x4327bf
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0xc]
jmp 0x4327df
mov dword [esi + 0x28], 0
mov al, byte [edi + 0xc]
lea ecx, [esi + 0x50]
lea eax, [edi + 0x10]
mov dword [esi + 0x1c8], 1
push ecx
push eax
lea eax, [esi + 8]
push eax
call fcn.00459020
add esp, 0xc
cmp byte [esi + 8], 3
jne 0x432977
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
mov dword [esi + 0xa0], eax
mov eax, dword [eax + 4]
mov dword [esi + 0x1c8], 2
mov dword [esi + 0x6c], ecx
push ecx
mov dword [esi + 0x8c], eax
call dword [eax]
add esp, 4
mov eax, dword [esi + 0x8c]
cmp dword [eax + 4], 0
je 0x432963
cmp dword [eax + 8], 9
jae 0x43294e
mov eax, dword [esi + 0x6c]
jmp 0x432954
mov eax, dword [esi + 0x28]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esi + 4]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x30]
dec dword [eax + 8]
jne 0x4327f5
mov dword [eax + 4], 0
push eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
cmp bl, 4
jne 0x432b59
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0x88]
call fcn.00429aac
xor ecx, ecx
xor eax, eax
lea eax, [eax + eax*4]
mov dword [esi + 4], ecx
mov ebx, dword [esi + eax*4 + 0xd8]
mov dword [esi + 0x2c], eax
test ebx, ebx
je 0x432850
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + eax*4 + 0xd4]
add edi, 4
cmp dword [edi - 4], 0
je 0x43284a
push dword [edi]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
add edi, 0x18
dec ebx
jne 0x432834
mov eax, dword [esi + 0x2c]
lea eax, [esi + eax*4 + 0xd0]
cmp dword [eax], 0
je 0x432870
push dword [eax + 4]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
test byte [esi + 4], 1
mov cl, 1
mov eax, 1
je 0x432813
mov eax, dword [esi + 0x94]
cmp byte [eax + 0xcc], 0
jne 0x432893
mov byte [eax + 0xcc], 1
lock or dword [eax + 0xe4], 1
lea ecx, [eax + 0xd0]
call fcn.0045de9b
lea edi, [esi + 0xd0]
mov edx, dword [esi + 0x134]
mov ecx, edi
push dword [esi + 0x138]
call fcn.0042afae
add esp, 4
mov eax, dword [esi + 0xd0]
and eax, 0xfffffffe
cmp eax, 0x14
je 0x4328fb
mov eax, dword [esi + 0x94]
lock sub dword [eax + 0xe4], 2
jb 0x432bc4
mov eax, dword [esi + 0xd0]
and eax, 0xfffffffe
cmp eax, 0x14
je 0x4328ac
mov ecx, edi
call fcn.0042b0fc
jmp 0x4328ac
mov ecx, dword [esi + 0x94]
lock dec dword [ecx]
jne 0x43290b
call fcn.0042af0e
mov eax, dword [esi + 0x1c0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, 2
push 0x47a718
call fcn.0046e960
mov ecx, eax
mov edx, 2
push 0x47a758
call fcn.0046e960
mov edx, 2
push 0x47a768
call fcn.0046e960
mov eax, dword [esi + 0x6c]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esi + 0xa0]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esi + 0x28], 0
mov edi, dword [esi + 0x2c]
je 0x4329ae
push dword [esi + 4]
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esi + 0xb0]
mov ecx, dword [eax]
mov dword [eax], edi
test ecx, ecx
je 0x4327fe
lock dec dword [ecx]
jne 0x4327fe
call fcn.00415c90
jmp 0x4327fe
mov eax, dword [0x48fdb0]
test eax, 0x7fffffff
je 0x432980
mov dword [esi + 0x1c8], 0
call fcn.00471dd0
mov edi, dword [esi + 0x2c]
test al, al
jne 0x432980
mov byte [edi + 0xc], 1
jmp 0x432980
mov edx, 2
push 0x47a728
call fcn.0046e960
mov edx, 2
push 0x47a738
call fcn.0046e960
mov edx, 2
push 0x47a778
call fcn.0046e960
mov edx, 2
push 0x47a788
call fcn.0046e960
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x47a578
push 0x47a398
lea eax, [esi + 8]
push eax
call fcn.0046ece0
mov dword [esi + 0x30], 0x47a2b8
mov dword [esi + 0x34], 0x2f
lea eax, [esi + 0x30]
jmp 0x432a53
mov dword [esi + 0x50], 0x47a29f
mov dword [esi + 0x54], 0x19
lea eax, [esi + 0x50]
mov dword [esi + 0x40], eax
lea ecx, [esi + 8]
mov edx, 0x47a7ec
lea eax, [esi + 0x40]
mov dword [esi + 0x44], 0x418ba0
mov dword [ecx], 0x47a7cc
mov dword [ecx + 4], 2
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 1
call fcn.0046e8d0
mov dword [esi + 0x30], 0x47a288
mov dword [esi + 0x34], 0x17
jmp 0x432a3d
mov dword [esi + 0x50], 0x47a32a
mov dword [esi + 0x54], 0x1e
jmp 0x432a50
lea ecx, [esi + 0xd0]
lea eax, [esi + 0x50]
lea edx, [esi + 0x30]
mov dword [eax], 0x47a248
mov dword [edx], eax
mov dword [ecx], 0x47a7cc
mov dword [ecx + 4], 2
mov dword [ecx + 0x10], 0
mov dword [eax + 4], 0x29
mov dword [edx + 4], 0x418ba0
jmp 0x432b27
mov ecx, 4
mov edx, 0x10
call fcn.0046d190
lea eax, [esi + 0x30]
lea ecx, [esi + 8]
lea edx, [esi + 0x40]
mov dword [esi + 0x30], 0x47a301
mov dword [esi + 0x34], 0x29
mov dword [esi + 0x40], eax
mov dword [ecx], 0x47a7cc
mov dword [ecx + 4], 2
mov dword [ecx + 0x10], 0
mov dword [esi + 0x44], 0x418ba0
mov dword [ecx + 8], edx
mov edx, 0x47a7dc
jmp 0x432a7f
mov dword [esi + 0x30], 0x47a271
jmp 0x432a92
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction5q_Q3_U___4_xT_pq_u__4_CYh__8oR
mov edx, 0x46
push 0x47de34
push 0x47d3a0
jmp 0x432a26
lea eax, [esi + 0x70]
lea ecx, [esi + 0x40]
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], edi
mov edi, 2
lea edx, [esi + 0x30]
mov dword [esi + 0x1c8], 6
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], 0x418ba0
mov dword [esi + 0x38], ecx
lea ecx, [esi + 8]
mov dword [esi + 0x3c], fcn.00455dc0
mov dword [ecx], str.failed_printing_to_:
mov dword [ecx + 4], edi
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0x47de6c
mov dword [ecx + 0xc], edi
call fcn.0046e8d0
ud2
mov ecx, str.lock_count_overflow_in_reentrant_mutex_s_5u_Uue_r___dmL__H_fLH3U_bs_y
mov edx, 0x26
push 0x47e150
call fcn.0046ed80
mov ecx, 7
int 0x29
ud2