Function at 0x572980
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2cc
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x29c], ecx
mov ecx, dword [ebp + 0xc]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0xc]
mov dword [esp], ebx
mov ecx, eax
call fcn.005d3a20
sub esp, 4
test eax, eax
jne 0x573e9f
mov ebx, dword [ebp - 0x29c]
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov ecx, ebx
mov dword [ebx + 0x480], esi
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.005674c0
sub esp, 8
call fcn.004cb890
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x278], eax
call fcn.004cb890
mov ecx, ebx
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x268]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x278]
mov dword [esp + 8], eax
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0056a3c0
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x290], ebx
sub esp, 0x10
test eax, eax
je 0x572a81
lea ebx, [ebp - 0x290]
mov dword [esp], eax
mov ecx, ebx
call fcn.0056dcf0
sub esp, 4
mov ebx, dword [ebp - 0x274]
cmp ebx, dword [ebp - 0x270]
mov esi, dword [ebp - 0x29c]
jne 0x572ab5
jmp 0x572b13
mov eax, dword [ebx]
lea ecx, [ebp - 0x290]
mov dword [esp], eax
call fcn.0056dcf0
sub esp, 4
add ebx, 4
cmp ebx, dword [ebp - 0x270]
je 0x572b13
mov ecx, dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x30]
cmp dword [esi + 0x10], 2
mov edi, eax
jne 0x572a97
mov eax, dword [eax]
mov ecx, edi
call dword [eax + 0x30]
movzx eax, word [eax + 4]
and ax, 0x3fc0
cmp ax, 0xbc0
je 0x572aaa
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x30]
movzx eax, word [eax + 4]
and ax, 0x3fc0
cmp ax, 0xc00
je 0x572aaa
mov eax, dword [edi + 0x50]
test eax, eax
je 0x572a97
mov edi, dword [eax + 8]
xor ecx, ecx
mov eax, dword [eax + 4]
mov edx, edi
call fcn.00547780
cmp edi, eax
je 0x572a97
add ebx, 4
cmp ebx, dword [ebp - 0x270]
jne 0x572ab5
mov esi, dword [ebp - 0x264]
lea ebx, [ebp - 0x290]
cmp esi, dword [ebp - 0x260]
je 0x572b41
mov eax, dword [esi]
mov ecx, ebx
add esi, 4
mov dword [esp], eax
call fcn.0056dcf0
sub esp, 4
cmp esi, dword [ebp - 0x260]
jne 0x572b27
mov eax, dword [ebp - 0x29c]
cmp dword [eax + 0x10], 2
je 0x573bf0
mov eax, dword [ebp - 0x29c]
mov ebx, dword [eax + 0x58]
call fcn.004cb890
mov dword [esp], 0x28
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov esi, eax
call fcn.004cb890
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi], eax
lea eax, [esi + 8]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov byte [esi + 0x24], 0
mov dword [ebp - 0xc4], esi
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x573f1f
test eax, eax
je 0x573ef5
mov dword [eax], esi
mov eax, dword [ebx + 4]
add eax, 4
mov dword [ebx + 4], eax
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x2b8], eax
lea ebx, [ebp - 0x248]
mov ecx, ebx
call fcn.00547320
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0xc]
lea ecx, [ebp - 0x170]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.005b5160
sub esp, 0xc
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov ecx, eax
mov esi, eax
mov dword [ebp - 0x2bc], eax
call fcn.005a9270
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x29c]
mov eax, dword [eax]
mov ecx, dword [edi + 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 4], 5
mov dword [esp + 0x18], eax
call fcn.0051ab70
mov esi, dword [ebp - 0xd4]
sub esp, 0x1c
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x28]
mov dword [esp], esi
lea ecx, [edx + 0x10]
mov dword [ebp - 0x2a0], edx
mov dword [esp + 4], eax
call fcn.005ffab0
mov eax, dword [edi + 0x28]
mov ecx, dword [ebp + 0xc]
add dword [eax + 0x1a0], 1
mov eax, dword [ebp + 0xc]
sub esp, 8
mov eax, dword [eax]
call dword [eax + 0xc]
mov ecx, dword [ebp - 0x2b8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.005b5160
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
sub esp, 0xc
mov eax, dword [eax + 0x14]
mov dword [esp], 0x6e816a
call eax
sub esp, 4
call fcn.004cb890
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x258], eax
call fcn.004cb890
mov dword [esp], 0xb8
mov ecx, eax
call fcn.004cba30
mov ecx, eax
sub esp, 4
mov dword [ebp - 0x2b0], eax
call fcn.005a9270
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x2a4], 0
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x2b4], eax
jmp 0x572e0f
mov edi, dword [ebp - 0x29c]
mov ecx, dword [edi + 0x28]
mov edi, dword [ebp - 0x2a8]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0051a6f0
sub esp, 8
mov dword [ebp - 0x2a4], eax
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
call dword [eax + 0x2c]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
sub ecx, 8
cmp ecx, 3
ja 0x572e08
mov eax, 1
shl eax, cl
test al, 0xd
je 0x572e08
mov eax, dword [ebp - 0x2b4]
mov esi, dword [ebp - 0x29c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x28]
mov dword [esp], eax
call fcn.0051b330
mov ecx, esi
sub esp, 4
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a8]
mov dword [esp + 4], 0x19e
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00562dc0
mov ecx, dword [esi + 0x28]
sub esp, 0x10
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b0]
mov dword [esp], eax
call fcn.0051a6f0
add dword [ebp - 0x2b4], 4
sub esp, 8
add dword [ebp - 0x2a0], 1
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x90]
cmp dword [ebp - 0x2a0], eax
jge 0x573278
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [ebp - 0x2a0]
mov eax, dword [eax + 0x9c]
mov dword [esp], esi
call eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [eax + 4]
mov esi, eax
sub esp, 4
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0054d620
mov edx, dword [ebp - 0x250]
sub esp, 8
cmp edx, dword [ebp - 0x24c]
mov dword [ebp - 0x1dc], eax
je 0x573602
test edx, edx
je 0x5735d4
mov dword [edx], eax
mov eax, dword [ebp - 0x250]
add eax, 4
mov dword [ebp - 0x250], eax
mov ecx, dword [eax - 4]
mov eax, dword [ecx]
call dword [eax + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2c]
movzx edx, word [eax + 0x1e]
movzx ecx, word [eax + 0x32]
and byte [eax + 4], 0xc0
or byte [eax + 0x28], 0x7f
and dx, 0xf80f
or dx, 0x3f0
or cx, 0x1fe0
mov word [eax + 0x1e], dx
movzx edx, byte [eax + 0x1c]
mov word [eax + 0x32], cx
shr cx, 8
and word [eax + 4], 0xc03f
or ecx, 0xffffffe0
and byte [eax + 8], 3
and edx, 0xfffffff8
or edx, 4
mov byte [eax + 0x1c], dl
mov edx, dword [eax + 0x24]
and byte [eax + 9], 0x80
and byte [eax + 0xc], 0x80
or dword [eax + 0x20], 0x7fff8000
or edx, 0x7f8000
mov dword [eax + 0x24], edx
shr edx, 0x18
or edx, 0xffffff80
mov byte [eax + 0x27], dl
or word [eax + 0x18], 0xfff
or word [eax + 0x28], 0x780
mov dword [eax], 0
mov dword [eax + 0x10], 0xffffffff
mov dword [eax + 0x14], 0xffffffff
mov byte [eax + 0x39], 0
mov byte [eax + 0x3a], 0
mov byte [eax + 0x3b], 0
mov dword [eax + 0x3c], 0xfffff800
or dword [eax + 0x2c], 0x1ff80
or word [eax + 0x30], 0x1ff8
and byte [eax + 0x37], 0x1f
and byte [eax + 0x38], 0xe0
mov byte [eax + 0x33], cl
mov byte [eax + 0x34], 0xff
mov eax, dword [ebp - 0x250]
mov edi, dword [ebp - 0x29c]
mov eax, dword [eax - 4]
mov ecx, dword [edi + 0x28]
mov dword [esp], eax
call fcn.0051b330
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0
sub esp, 4
mov edi, eax
mov dword [ebp - 0x2a8], eax
call fcn.004cb890
mov dword [esp], 0x6c
mov ecx, eax
call fcn.004cba30
movzx edx, byte [eax + 0x64]
sub esp, 4
and byte [eax + 6], 0xf0
and byte [eax + 8], 0xfe
and byte [eax + 0x60], 0x80
or byte [eax + 0x68], 0xf
and edx, 0xfffffff8
or edx, 4
mov byte [eax + 0x64], dl
movzx edx, word [eax + 0x2a]
and byte [eax + 0x10], 0xc0
and word [eax + 0x12], 0xfe3f
and word [eax + 0x10], 0xc03f
and dx, 0xf80f
or dx, 0x3f0
and byte [eax + 0x15], 0x80
and byte [eax + 0x18], 0x80
mov dword [eax], 0x6f2308
mov byte [eax + 4], 0
mov byte [eax + 5], 1
mov dword [eax + 0x4c], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x58], 0
mov byte [eax + 0x5c], 0
mov byte [eax + 0x5d], 0
mov dword [eax + 0xc], 0
mov byte [eax + 0x14], 0
mov dword [eax + 0x1c], 0xffffffff
mov dword [eax + 0x20], 0xffffffff
mov word [eax + 0x2a], dx
movzx edx, byte [eax + 0x28]
movzx ecx, word [eax + 0x3e]
or byte [eax + 0x34], 0x7f
or dword [eax + 0x2c], 0x7fff8000
and edx, 0xfffffff8
or edx, 4
or cx, 0x1fe0
mov byte [eax + 0x28], dl
mov edx, dword [eax + 0x30]
mov word [eax + 0x3e], cx
shr cx, 8
or word [eax + 0x34], 0x780
or ecx, 0xffffffe0
or dword [eax + 0x38], 0x1ff80
or edx, 0x7f8000
mov dword [eax + 0x30], edx
shr edx, 0x18
or edx, 0xffffff80
or word [eax + 0x3c], 0x1ff8
and byte [eax + 0x43], 0x1f
and byte [eax + 0x44], 0xe0
and dword [eax + 0x10], 0xffc03fff
or word [eax + 0x24], 0xfff
mov byte [eax + 0x33], dl
mov byte [eax + 0x3f], cl
mov ecx, edi
mov byte [eax + 0x45], 0
mov byte [eax + 0x46], 0
mov byte [eax + 0x47], 0
mov dword [eax + 0x48], 0xfffff800
mov byte [eax + 0x40], 0xff
mov dword [ebp - 0x1d8], eax
mov eax, dword [edi]
call dword [eax + 0x70]
mov edx, dword [ebp - 0x1d8]
movzx ecx, byte [eax + 4]
mov byte [edx + 4], cl
mov ecx, dword [eax + 0x5c]
mov dword [edx + 0x5c], ecx
mov ecx, dword [eax + 0x60]
mov dword [edx + 0x60], ecx
mov ecx, dword [eax + 0x64]
mov dword [edx + 0x64], ecx
mov ecx, dword [eax + 0x68]
mov dword [edx + 0x68], ecx
mov ecx, dword [eax + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x14]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x18], ecx
mov ecx, dword [eax + 0x1c]
mov dword [edx + 0x1c], ecx
mov ecx, dword [eax + 0x20]
mov dword [edx + 0x20], ecx
mov ecx, dword [eax + 0x24]
mov dword [edx + 0x24], ecx
mov ecx, dword [eax + 0x28]
mov dword [edx + 0x28], ecx
mov ecx, dword [eax + 0x2c]
mov dword [edx + 0x2c], ecx
mov ecx, dword [eax + 0x30]
mov dword [edx + 0x30], ecx
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x38]
mov dword [edx + 0x38], ecx
mov ecx, dword [eax + 0x3c]
mov dword [edx + 0x3c], ecx
mov ecx, dword [eax + 0x40]
mov dword [edx + 0x40], ecx
mov ecx, dword [eax + 0x44]
mov dword [edx + 0x44], ecx
mov ecx, dword [eax + 0x48]
mov dword [edx + 0x48], ecx
movzx ecx, byte [edx + 5]
movzx edi, byte [eax + 5]
and ecx, 0xfffffff0
and edi, 0xf
or ecx, edi
mov byte [edx + 5], cl
movzx edi, byte [eax + 5]
and ecx, 0xf
and edi, 0xfffffff0
or ecx, edi
mov byte [edx + 5], cl
movzx ecx, byte [edx + 6]
movzx edi, byte [eax + 6]
and ecx, 0xfffffff0
and edi, 0xf
or ecx, edi
mov byte [edx + 6], cl
movzx ecx, byte [edx + 8]
movzx edi, byte [eax + 8]
and ecx, 0xfffffffe
and edi, 1
or ecx, edi
mov byte [edx + 8], cl
mov ecx, dword [eax + 0x4c]
mov dword [edx + 0x4c], ecx
mov ecx, dword [eax + 0x50]
mov dword [edx + 0x50], ecx
mov ecx, dword [eax + 0x54]
mov eax, dword [eax + 0x58]
mov dword [edx + 0x54], ecx
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0xa0]
je 0x5735e0
test eax, eax
je 0x5731ea
mov edx, dword [ebp - 0x1dc]
mov dword [eax], edx
mov edx, dword [ebp - 0x1d8]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x1d4]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x1d8]
add eax, 0xc
mov dword [ebp - 0xa4], eax
lea edi, [ebp - 0x2c]
mov ecx, edx
mov dword [esp], edi
call fcn.004dd470
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax - 0xc]
sub esp, 4
lea edx, [ecx + 1]
cmp edx, dword [eax - 8]
ja 0x573217
cmp dword [eax - 4], 0
jle 0x573236
mov dword [esp], edx
mov ecx, edi
mov dword [ebp - 0x2ac], edx
call fcn.005f4880
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2ac]
mov ecx, dword [eax - 0xc]
sub esp, 4
mov byte [eax + ecx], 0x3b
mov eax, dword [ebp - 0x28]
mov dword [eax - 4], 0
mov dword [eax - 0xc], edx
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x1d4]
test ecx, ecx
je 0x573259
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x2a4]
test eax, eax
jne 0x572d61
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2a4], eax
jmp 0x572d85
mov eax, dword [ebp - 0x29c]
add eax, 0x380
mov ecx, eax
mov dword [ebp - 0x2a8], eax
lea eax, [ebp - 0xd8]
mov dword [esp], eax
call fcn.005f4480
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x24]
sub esp, 4
test eax, eax
jne 0x573975
mov edx, dword [ebp - 0x2a4]
mov byte [ebp - 0x298], 0
mov dword [ebp - 0x284], 0
test edx, edx
je 0x573371
mov ecx, dword [ebp - 0x2a4]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [ebp - 0x28c]
test ecx, ecx
mov ebx, eax
je 0x573371
test eax, eax
je 0x57332a
mov eax, dword [eax]
mov ecx, ebx
call dword [eax + 0xac]
mov edx, dword [eax + 8]
sub edx, dword [eax + 4]
sar edx, 2
test edx, edx
je 0x573324
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xac]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x57333e
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx]
call dword [eax + 0x30]
test eax, eax
je 0x573371
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx]
call dword [eax + 0x30]
test eax, eax
je 0x573371
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x70]
mov ecx, dword [ebp - 0x29c]
mov dword [esp], eax
call fcn.0054a830
sub esp, 4
test eax, eax
je 0x573371
mov eax, dword [ebp - 0xc0]
mov edx, dword [eax + 4]
cmp dword [edx - 0xc], 5
ja 0x573624
lea ebx, [ebp - 0x298]
lea eax, [ebp - 0x28c]
mov ecx, dword [ebp - 0x29c]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x284]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2b8]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00567de0
sub esp, 0x14
test eax, eax
mov esi, eax
jne 0x5736e3
mov esi, dword [ebp - 0x288]
test esi, esi
je 0x573ec1
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x18]
mov ecx, dword [ebp - 0x2a8]
mov dword [esp], eax
call fcn.005f4480
mov eax, dword [ebp - 0x294]
sub esp, 4
test eax, eax
je 0x573efc
mov ebx, dword [ebp - 0x29c]
cmp dword [ebx + 0x10], 1
je 0x573c87
mov ecx, dword [ebx + 0x28]
mov dword [esp], eax
call fcn.0051b330
mov ecx, ebx
sub esp, 4
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0x19e
mov dword [esp], eax
call fcn.00562dc0
sub esp, 0x10
mov ebx, dword [ebp - 0x29c]
mov ecx, dword [ebx + 0x28]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b0]
mov dword [esp], eax
call fcn.0051a6f0
sub esp, 8
mov esi, dword [ebp - 0x264]
xor ebx, ebx
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x2a0], esi
jmp 0x57347e
mov eax, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x29c]
mov eax, dword [eax]
mov dword [esi + 0x4cc], eax
add dword [ebp - 0x2a0], 4
add ebx, 1
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x90]
cmp ebx, eax
jge 0x573550
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x9c]
mov dword [esp], ebx
call eax
mov ecx, dword [eax + 4]
mov esi, eax
sub esp, 4
mov eax, dword [ecx]
call dword [eax + 0x2c]
movzx eax, byte [eax + 4]
and eax, 0x3f
sub eax, 9
cmp eax, 1
ja 0x57347b
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov eax, dword [eax + 4]
shr eax, 0xe
cmp al, 0x50
je 0x573460
mov eax, dword [ebp - 0x254]
mov esi, dword [ebp - 0x29c]
mov eax, dword [eax + ebx*4]
mov ecx, dword [esi + 0x28]
mov dword [esp], eax
call fcn.0051b330
mov edx, dword [ebp - 0x29c]
mov ecx, dword [edx + 0x28]
mov esi, eax
mov eax, dword [ebp - 0x2a0]
sub esp, 4
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0051b330
sub esp, 4
mov dword [esp + 0xc], esi
mov esi, dword [ebp - 0x29c]
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x19e
mov ecx, esi
mov dword [esp], eax
call fcn.00562dc0
mov ecx, dword [esi + 0x28]
sub esp, 0x10
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b0]
mov dword [esp], eax
call fcn.0051a6f0
sub esp, 8
jmp 0x573474
mov ebx, dword [ebp - 0x2b0]
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xa8]
mov dword [esp], 1
call eax
mov eax, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0x29c]
mov dword [ebp - 0x1dc], eax
lea eax, [ebp - 0x1dc]
mov ecx, esi
sub esp, 4
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x170]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], ebx
mov dword [esp], eax
call fcn.0054d080
mov ecx, dword [ebp - 0x2b8]
mov dword [esi + 0x484], ebx
mov ebx, dword [ebp - 0x1dc]
sub esp, 0x10
call fcn.004db920
lea ecx, [ebp - 0x170]
call fcn.004db920
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
xor eax, eax
jmp 0x572e84
lea eax, [ebp - 0x1dc]
mov dword [esp], eax
lea ecx, [ebp - 0xac]
call fcn.0062d510
mov edx, dword [ebp - 0x1d8]
sub esp, 4
jmp 0x5731f3
lea eax, [ebp - 0x1dc]
mov dword [esp], eax
lea ecx, [ebp - 0x258]
call fcn.006354f0
mov eax, dword [ebp - 0x250]
sub esp, 4
jmp 0x572e8d
lea ecx, [ebp - 0x1dc]
mov dword [esp], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 5
call fcn.005d38a0
mov ecx, dword [ebp - 0x29c]
lea eax, [ebp - 0x1dc]
sub esp, 0xc
mov dword [esp], eax
call fcn.0054eaf0
mov edx, dword [ebp - 0x1d8]
sub esp, 4
lock sub dword [edx - 4], 1
test al, al
je 0x573371
mov eax, dword [ebp - 0xc0]
lea ecx, [ebp - 0x1dc]
lea ebx, [ebp - 0x298]
mov dword [esp], eax
call fcn.005f4c40
lea ecx, [ebp - 0x1dc]
sub esp, 4
mov dword [esp], 0x6e5b02
call fcn.005f3fb0
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + 0x58]
lea eax, [ebp - 0x1dc]
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00552560
sub esp, 8
test eax, eax
je 0x5742d3
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
mov esi, eax
mov eax, dword [ebp - 0x1d8]
lock sub dword [eax - 4], 1
test esi, esi
je 0x573377
cmp byte [ebp - 0x298], 0
jne 0x573d44
call fcn.004cb890
mov ebx, eax
call fcn.004cb890
mov dword [esp], 0xd
mov ecx, eax
call fcn.004cba30
mov edx, dword [ebp - 0x284]
mov dword [eax + 4], 0
sub esp, 4
add eax, 0xc
mov dword [eax - 4], 0
mov dword [eax - 0xc], 0
mov byte [eax], 0
test edx, edx
mov dword [ebp - 0x280], ebx
mov dword [ebp - 0x27c], eax
je 0x573956
mov ebx, dword [ebp - 0x29c]
lea edi, [ebp - 0x280]
mov ecx, dword [ebx + 0x4b0]
mov eax, dword [ebx + 0x4b4]
sub eax, ecx
sar eax, 3
sub eax, edx
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [esp], eax
call fcn.005f4480
mov eax, dword [esi]
mov ecx, esi
sub esp, 4
call dword [eax + 0x18]
mov ecx, edi
mov dword [esp], eax
call fcn.005f4160
mov edx, dword [ebx + 0x4c0]
mov eax, dword [ebx + 0x4c4]
mov ecx, dword [ebx + 0x28]
sub eax, edx
sar eax, 2
sub esp, 4
sub eax, dword [ebp - 0x284]
mov eax, dword [edx + eax*4]
mov dword [esp], eax
call fcn.0051b330
lea edx, [ebp - 0x28c]
mov ecx, ebx
sub esp, 4
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00566190
sub esp, 8
mov eax, dword [ebp - 0x28c]
test eax, eax
je 0x573805
mov ecx, dword [ebp - 0x29c]
lea ebx, [ebp - 0x28c]
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00564070
mov ecx, dword [ebp - 0x28c]
sub esp, 8
test ecx, ecx
je 0x573805
cmp byte [ebp - 0x298], 0
je 0x573da4
mov eax, dword [ecx]
call dword [eax + 0x18]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x6c]
mov ecx, esi
cmp byte [ebp - 0x298], 0
mov ebx, eax
mov eax, dword [esi]
je 0x573823
test ebx, ebx
jne 0x573e07
call dword [eax + 0x30]
mov ebx, dword [ebp - 0x29c]
mov ecx, dword [ebx + 0x28]
mov ebx, dword [ebp + 8]
mov edx, dword [ebx]
mov dword [esp + 0xc], edx
mov edx, dword [ebx + 4]
mov dword [esp + 0x10], edx
mov edx, dword [ebx + 8]
mov dword [esp + 0x14], edx
mov edx, dword [ebx + 0xc]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 4], 3
mov dword [esp + 0x18], edx
mov dword [esp], eax
call fcn.0051ab70
mov edx, dword [eax]
sub esp, 0x1c
mov ecx, eax
mov dword [ebp - 0x288], eax
call dword [edx + 0x18]
mov ebx, eax
mov eax, dword [eax]
mov ecx, ebx
mov eax, dword [eax + 0xb4]
mov dword [esp], edi
call eax
sub esp, 4
cmp byte [ebp - 0x298], 0
je 0x573dd3
mov eax, dword [ebp - 0x288]
lea ebx, [ebp - 0x288]
mov edi, dword [ebp + 8]
mov dword [esp + 4], ebx
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp], edi
mov edi, dword [ebp - 0x29c]
mov dword [esp + 8], eax
mov ecx, edi
call fcn.0056f1b0
mov eax, dword [ebp - 0x28c]
mov ecx, edi
mov edx, dword [ebp + 8]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edx
call fcn.00557320
mov eax, dword [ebp - 0x28c]
mov ecx, edi
mov edx, dword [ebp + 8]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edx
call fcn.0055e810
mov eax, dword [ebp - 0x28c]
mov ecx, edi
sub esp, 0xc
mov dword [esp + 4], ebx
mov ebx, dword [ebp + 8]
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.00563c20
mov ecx, dword [ebp - 0x288]
sub esp, 0xc
cmp dword [ebp - 0x2ac], ecx
je 0x573f3d
cmp ecx, dword [ebp - 0x2ac]
je 0x574153
mov eax, dword [ebp - 0x27c]
lock sub dword [eax - 4], 1
jmp 0x5733b7
mov eax, dword [esi]
mov ecx, esi
lea edi, [ebp - 0x280]
call dword [eax + 0x18]
mov ecx, edi
mov dword [esp], eax
call fcn.005f4480
sub esp, 4
jmp 0x5737c4
movzx edx, byte [ebp - 0x178]
lea ebx, [ebp - 0x1dc]
and byte [ebp - 0x1cc], 0xc0
and byte [ebp - 0x1d6], 0xf0
and byte [ebp - 0x1d4], 0xfe
and edx, 0xfffffff8
or edx, 4
mov byte [ebp - 0x178], dl
movzx edx, word [ebp - 0x1b2]
and byte [ebp - 0x17c], 0x80
or byte [ebp - 0x174], 0xf
and word [ebp - 0x1ca], 0xfe3f
and dx, 0xf80f
or dx, 0x3f0
and word [ebp - 0x1cc], 0xc03f
and byte [ebp - 0x1c7], 0x80
and byte [ebp - 0x1c4], 0x80
mov dword [ebp - 0x1dc], 0x6f2308
mov byte [ebp - 0x1d8], 0
mov byte [ebp - 0x1d7], 1
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
mov byte [ebp - 0x180], 0
mov byte [ebp - 0x17f], 0
mov dword [ebp - 0x1d0], 0
mov byte [ebp - 0x1c8], 0
mov dword [ebp - 0x1c0], 0xffffffff
mov dword [ebp - 0x1bc], 0xffffffff
mov word [ebp - 0x1b2], dx
movzx edx, byte [ebp - 0x1b4]
movzx ecx, word [ebp - 0x19e]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2b8]
or byte [ebp - 0x1a8], 0x7f
and edx, 0xfffffff8
or edx, 4
or cx, 0x1fe0
mov byte [ebp - 0x1b4], dl
mov edx, dword [ebp - 0x1ac]
mov word [ebp - 0x19e], cx
shr cx, 8
or ecx, 0xffffffe0
or dword [ebp - 0x1b0], 0x7fff8000
or edx, 0x7f8000
mov dword [ebp - 0x1ac], edx
shr edx, 0x18
or edx, 0xffffff80
or word [ebp - 0x1b8], 0xfff
or word [ebp - 0x1a8], 0x780
or dword [ebp - 0x1a4], 0x1ff80
or word [ebp - 0x1a0], 0x1ff8
and byte [ebp - 0x199], 0x1f
and byte [ebp - 0x198], 0xe0
and dword [ebp - 0x1cc], 0xffc03fff
mov byte [ebp - 0x1a9], dl
mov byte [ebp - 0x19d], cl
mov dword [esp + 0x10], ebx
mov byte [ebp - 0x197], 0
mov byte [ebp - 0x196], 0
mov byte [ebp - 0x195], 0
mov dword [ebp - 0x194], 0xfffff800
mov byte [ebp - 0x19c], 0xff
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x29c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00550b40
sub esp, 0x14
test al, al
jne 0x5733b7
lea eax, [ebp - 0x1dc]
mov ecx, dword [ebp - 0x29c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00561de0
sub esp, 0xc
test eax, eax
mov dword [ebp - 0x288], eax
mov esi, eax
jne 0x5733bd
mov esi, dword [ebp - 0x29c]
lea ecx, [ebp - 0x280]
mov eax, dword [esi]
mov ebx, dword [eax + 0x70]
lea eax, [ebp - 0x1dc]
mov dword [esp], eax
call fcn.005ce650
mov eax, dword [ebp - 0x27c]
sub esp, 4
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 0x6e4908
mov dword [esp + 8], str.cannot_construct_with_these_arguments
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
mov eax, dword [ebp - 0x27c]
lock sub dword [eax - 4], 1
mov esi, dword [ebp - 0x288]
jmp 0x5733bd
mov ebx, dword [ebp - 0x274]
cmp ebx, dword [ebp - 0x270]
je 0x572b51
mov esi, dword [ebp - 0x29c]
jmp 0x573c1f
add ebx, 4
cmp ebx, dword [ebp - 0x270]
je 0x572b51
mov ecx, dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x30]
cmp dword [esi + 0x10], 2
mov edi, eax
jne 0x573c10
mov eax, dword [eax]
mov ecx, edi
call dword [eax + 0x30]
movzx eax, word [eax + 4]
and ax, 0x3fc0
cmp ax, 0xbc0
je 0x573c72
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x30]
movzx eax, word [eax + 4]
and ax, 0x3fc0
cmp ax, 0xc00
je 0x573c72
mov eax, dword [edi + 0x50]
test eax, eax
je 0x573c10
mov edi, dword [eax + 8]
xor ecx, ecx
mov eax, dword [eax + 4]
mov edx, edi
call fcn.00547780
cmp edi, eax
je 0x573c10
mov eax, dword [ebx]
lea ecx, [ebp - 0x290]
mov dword [esp], eax
call fcn.0056dcf0
sub esp, 4
jmp 0x573c10
mov ecx, ebx
mov dword [esp], 0x2a
call fcn.0054cb40
sub esp, 4
test eax, eax
mov ebx, eax
je 0x5741fb
mov edi, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x294]
mov ecx, dword [edi + 0x28]
mov dword [esp], eax
call fcn.0051b330
mov edx, dword [ebp + 8]
mov ecx, dword [edi + 0x28]
mov dword [ebp - 0x29c], edi
mov edx, dword [edx]
sub esp, 4
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 4]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xc]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], 0x83
mov dword [esp + 0x18], edx
call fcn.00513490
mov ecx, esi
mov edi, eax
mov eax, dword [eax]
sub esp, 0x1c
mov ebx, dword [eax + 0x6c]
mov eax, dword [esi]
call dword [eax + 0x70]
mov ecx, edi
mov dword [esp], eax
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x29c]
sub esp, 4
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov dword [esp + 4], 0x19e
mov dword [esp], eax
call fcn.00562dc0
sub esp, 0x10
jmp 0x57342d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x44]
test eax, eax
je 0x5736f0
mov eax, dword [ebp - 0x29c]
mov ecx, esi
mov eax, dword [eax]
mov ebx, dword [eax + 0x2c]
mov eax, dword [esi]
mov dword [ebp - 0x2a0], ebx
call dword [eax + 0xc]
mov ecx, esi
mov edi, dword [eax + 4]
mov eax, dword [esi]
call dword [eax + 0x48]
mov ecx, esi
mov ebx, eax
mov eax, dword [esi]
call dword [eax + 0x44]
mov ecx, dword [ebp - 0x29c]
mov dword [esp + 0xc], edi
mov edi, dword [ebp + 8]
mov dword [esp + 8], ebx
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [ebp - 0x2a0]
sub esp, 0x10
jmp 0x5736f0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x29c]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0056e840
mov ecx, dword [ebp - 0x28c]
sub esp, 0xc
test ecx, ecx
jne 0x573800
jmp 0x573805
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xbc]
mov ebx, dword [ebp - 0x29c]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x28]
mov ebx, dword [ebp - 0x2a8]
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.00519de0
sub esp, 0xc
jmp 0x573898
call dword [eax + 0x30]
mov edi, dword [ebp - 0x28c]
mov ecx, esi
mov dword [ebp - 0x2a0], eax
mov eax, dword [esi]
call dword [eax + 0x90]
mov edx, dword [ebp - 0x29c]
mov ecx, dword [edx + 0x28]
mov edx, dword [ebp - 0x2a0]
cmp eax, 1
sete al
movzx eax, al
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0051ad90
sub esp, 0x14
test eax, eax
mov dword [ebp - 0x288], eax
je 0x57418b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
test eax, eax
je 0x573898
mov ecx, dword [ebp - 0x288]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x29c]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0054f950
sub esp, 0xc
jmp 0x573898
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov ecx, dword [ebp - 0x29c]
mov dword [esp], eax
call fcn.0054c9b0
mov eax, ebx
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov eax, dword [ebp - 0x29c]
fldz
mov ecx, dword [eax + 0x28]
fstp qword [esp]
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
call fcn.00515130
sub esp, 0x14
mov esi, eax
jmp 0x5733c5
xor eax, eax
jmp 0x572bc8
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp - 0x2b0]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0051a6f0
sub esp, 8
jmp 0x57344b
lea eax, [ebp - 0xc4]
mov ecx, ebx
mov dword [esp], eax
mov dword [ebp - 0x2b8], eax
call fcn.00635040
sub esp, 4
jmp 0x572bda
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [ebp - 0x288]
test eax, eax
je 0x57393a
mov eax, dword [ecx]
call dword [eax + 0x18]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc4]
mov dword [ebp - 0x2a0], 0
mov ebx, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x90]
cmp dword [ebp - 0x2a0], eax
jge 0x574112
mov eax, dword [esi]
mov ecx, esi
mov edi, dword [ebp - 0x2a0]
mov eax, dword [eax + 0xa0]
mov dword [esp], edi
call eax
mov ecx, dword [eax + 4]
sub esp, 4
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov edx, dword [ebp - 0x2a0]
mov ecx, esi
movzx edi, byte [eax + 4]
mov eax, dword [esi]
and edi, 0x3f
mov eax, dword [eax + 0xa0]
mov dword [esp], edx
call eax
mov ecx, dword [eax + 4]
sub esp, 4
mov eax, dword [ecx]
call dword [eax + 0x30]
mov eax, dword [eax + 4]
shr eax, 0xe
sub eax, 0x53
cmp al, 1
jbe 0x574088
mov eax, dword [esi]
mov ecx, esi
mov edx, dword [ebp - 0x2a0]
mov eax, dword [eax + 0xa0]
mov dword [esp], edx
call eax
mov ecx, dword [ebp - 0x29c]
mov eax, dword [eax + 4]
sub esp, 4
mov dword [esp], eax
call fcn.005491d0
sub esp, 4
test al, al
je 0x5740e8
mov eax, edi
xor edx, edx
movzx edi, al
mov dword [ebp - 0x2a4], edi
mov edi, edx
jmp 0x57404b
mov edx, dword [ebp - 0x2a4]
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0xc]
mov dword [ebp - 0x1dc], edx
je 0x5740d0
test eax, eax
je 0x574042
mov dword [eax], edx
add eax, 4
mov dword [ebx + 8], eax
add edi, 1
mov eax, dword [esi]
mov ecx, esi
mov edx, dword [ebp - 0x2a0]
mov eax, dword [eax + 0xa0]
mov dword [esp], edx
call eax
mov eax, dword [eax + 4]
sub esp, 4
mov ecx, dword [eax + 0x50]
mov eax, dword [ecx + 8]
sub eax, dword [ecx + 4]
sar eax, 2
imul eax, eax, 0xcccccccd
cmp edi, eax
jl 0x574024
add dword [ebp - 0x2a0], 1
jmp 0x573f71
mov eax, edi
mov edx, dword [ebx + 0xc]
movzx edi, al
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1dc], edi
cmp eax, edx
je 0x574135
test eax, eax
je 0x5740a7
mov dword [eax], edi
add eax, 4
mov dword [ebx + 8], eax
cmp eax, edx
mov dword [ebp - 0x1dc], edi
je 0x57411d
test eax, eax
je 0x5740bd
mov dword [eax], edi
add eax, 4
mov dword [ebx + 8], eax
add dword [ebp - 0x2a0], 1
jmp 0x573f71
lea eax, [ebp - 0x1dc]
mov ecx, ebx
mov dword [esp], eax
call fcn.0063c060
sub esp, 4
jmp 0x574048
mov eax, edi
mov ecx, ebx
movzx edi, al
lea eax, [ebp - 0x1dc]
mov dword [esp], eax
mov dword [ebp - 0x1dc], edi
call fcn.0063bcc0
add dword [ebp - 0x2a0], 1
sub esp, 4
jmp 0x573f71
mov ecx, dword [ebp - 0x288]
jmp 0x57393a
lea eax, [ebp - 0x1dc]
mov ecx, ebx
mov dword [esp], eax
call fcn.0063c060
sub esp, 4
jmp 0x57407c
lea eax, [ebp - 0x1dc]
mov ecx, ebx
mov dword [esp], eax
call fcn.0063c060
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
sub esp, 4
jmp 0x5740ad
mov eax, dword [ecx]
call dword [eax + 0x18]
test eax, eax
je 0x573946
mov ecx, dword [ebp - 0x288]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x29c]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00564690
sub esp, 8
mov dword [ebp - 0x288], eax
jmp 0x573946
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x1dc]
mov ebx, dword [ebp - 0x28c]
mov eax, dword [eax]
mov edi, dword [eax + 0x70]
lea eax, [ebx + 0x14]
mov dword [esp], eax
call fcn.005ce650
mov ecx, dword [ebp - 0x28c]
mov ebx, dword [ebp - 0x1d8]
mov eax, dword [ecx]
sub esp, 4
call dword [eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], str.built_in_unary_operator_function.__Type:__s
mov dword [esp + 0xc], str.Internal_Error
mov dword [esp + 8], str._wrong_operand_type
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x1d8]
lock sub dword [eax - 4], 1
jmp 0x573898
lea ecx, [ebp - 0x1dc]
mov dword [esp + 0x14], 0
lea ebx, [ebp - 0x1dc]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 8
mov dword [esp], 5
call fcn.005b3f70
sub esp, 0x18
mov dword [esp], str.InvocationId
call fcn.005a8790
movzx edx, word [ebp - 0x1cc]
mov ecx, dword [ebp - 0x29c]
and dx, 0xc03f
or dx, 0xa80
mov word [ebp - 0x1cc], dx
mov eax, dword [eax + 4]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0054d620
mov ebx, eax
mov eax, dword [eax]
sub esp, 8
mov ecx, ebx
call dword [eax + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2c]
movzx ecx, byte [eax + 4]
mov edx, ecx
and edx, 0x3f
cmp edx, 8
je 0x5742e3
cmp edx, 9
jne 0x5742a6
and ecx, 0xffffffc0
or ecx, 4
mov byte [eax + 4], cl
mov edi, dword [ebp - 0x29c]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0xdc]
mov dword [esp], ebx
call eax
mov ecx, dword [edi + 0x28]
sub esp, 4
mov dword [esp], ebx
call fcn.0051b330
sub esp, 4
mov ebx, eax
jmp 0x573ca2
mov eax, dword [ebp - 0x1d8]
lock sub dword [eax - 4], 1
jmp 0x573377
and ecx, 0xffffffc0
or ecx, 3
mov byte [eax + 4], cl
jmp 0x5742a6