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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xec
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x2c]
movzx eax, byte [eax + 4]
and eax, 0x3f
cmp eax, 4
je 0x554738
jg 0x5539a5
cmp eax, 3
jne 0x5538d4
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov ecx, dword [ebp - 0xd0]
mov dword [esp], eax
call fcn.0054c5d0
sub esp, 4
mov eax, dword [ebp + 0xc]
xor esi, esi
mov edi, dword [ebp - 0xd0]
mov eax, dword [eax + 0x50]
add edi, 0x3e4
mov dword [ebp - 0xd8], edi
mov edi, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax + 8]
sub eax, edx
sar eax, 2
imul eax, eax, 0xcccccccd
test eax, eax
jne 0x553976
jmp 0x553bb3
cmp ecx, 9
jne 0x55391f
and eax, 0xffffffc0
or eax, 4
mov byte [edx + 4], al
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0xd4], edx
call dword [eax + 0x2c]
mov edx, dword [ebp - 0xd4]
movzx ecx, byte [eax + 4]
movzx eax, byte [edx + 4]
and ecx, 0x3f
and eax, 0xffffffc0
or eax, ecx
mov ecx, ebx
mov byte [edx + 4], al
mov eax, dword [ebx]
call dword [eax + 0x7c]
test al, al
jne 0x553a31
mov eax, dword [ebp - 0xcc]
add esi, 1
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
sub eax, edx
sar eax, 2
imul eax, eax, 0xcccccccd
cmp esi, eax
jae 0x553bb3
lea eax, [esi + esi*4]
mov ebx, dword [edx + eax*4]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x2c]
mov edx, eax
movzx eax, byte [eax + 4]
mov ecx, eax
and ecx, 0x3f
cmp ecx, 8
jne 0x553911
and eax, 0xffffffc0
or eax, 3
mov byte [edx + 4], al
jmp 0x55391f
cmp eax, 6
jg 0x5538d4
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov edx, dword [eax + 4]
test edx, 0x3fc000
jne 0x5539df
movzx esi, word [eax + 4]
and edx, 0xffc03fff
shr si, 6
mov ecx, esi
movzx ecx, cl
shl ecx, 0xe
or edx, ecx
mov dword [eax + 4], edx
movzx edx, byte [eax + 0x1c]
or byte [eax + 0x28], 0x7f
and word [eax + 4], 0xc03f
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], 0xfe
or word [eax + 0x18], 0xfff
or word [eax + 0x28], 0x780
or edx, 0x7f8000
mov dword [eax + 0x24], edx
shr edx, 0x18
or edx, 0xffffff80
mov byte [eax + 0x27], dl
or dword [eax + 0x2c], 0x1ff80
or word [eax + 0x30], 0x1ff8
jmp 0x5538d4
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebx + 0x50]
mov edx, dword [ebp - 0xd8]
mov eax, dword [eax + 0x3e8]
test eax, eax
jne 0x553a59
jmp 0x553a79
mov edx, eax
mov eax, dword [eax + 8]
test eax, eax
je 0x553a65
cmp ecx, dword [eax + 0x10]
jbe 0x553a50
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x553a59
mov eax, dword [ebp - 0xd8]
cmp eax, edx
je 0x554954
cmp ecx, dword [edx + 0x10]
cmovb edx, eax
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0xd4], edx
call dword [eax + 0x2c]
mov edx, dword [ebp - 0xd4]
movzx eax, byte [eax + 4]
and eax, 0x3f
cmp eax, 4
je 0x5545b3
jg 0x553af0
cmp eax, 3
jne 0x553954
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0xd4], edx
call dword [eax + 0x2c]
mov ecx, dword [ebp - 0xd0]
mov dword [esp], eax
call fcn.0054c5d0
mov edx, dword [ebp - 0xd4]
sub esp, 4
cmp dword [ebp - 0xd8], edx
je 0x553954
mov eax, dword [edx + 0x14]
test eax, eax
je 0x553954
mov dword [ebx + 0x50], eax
jmp 0x553954
cmp eax, 6
mov dword [ebp - 0xd4], edx
jg 0x553954
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x2c]
mov edx, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xdc], ecx
and ecx, 0x3fc000
jne 0x553b4a
movzx ecx, word [eax + 4]
shr cx, 6
movzx ecx, cl
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp - 0xdc]
shl dword [ebp - 0xd4], 0xe
and ecx, 0xffc03fff
or ecx, dword [ebp - 0xd4]
mov dword [eax + 4], ecx
movzx ecx, byte [eax + 0x1c]
or byte [eax + 0x28], 0x7f
and word [eax + 4], 0xc03f
and byte [eax + 8], 3
and ecx, 0xfffffff8
or ecx, 4
mov byte [eax + 0x1c], cl
mov ecx, dword [eax + 0x24]
and byte [eax + 9], 0xfe
or word [eax + 0x28], 0x780
or dword [eax + 0x2c], 0x1ff80
or ecx, 0x7f8000
mov dword [eax + 0x24], ecx
shr ecx, 0x18
or ecx, 0xffffff80
or word [eax + 0x30], 0x1ff8
or word [eax + 0x18], 0xfff
mov byte [eax + 0x27], cl
cmp dword [ebp - 0xd8], edx
je 0x553954
mov eax, dword [edx + 0x1c]
test eax, eax
jne 0x553ae2
jmp 0x553954
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x2c]
movzx eax, byte [eax + 4]
and eax, 0x3f
cmp eax, 4
je 0x554779
jle 0x554632
cmp eax, 5
je 0x55486e
cmp eax, 6
jne 0x554844
mov esi, dword [ebp - 0xd0]
mov eax, dword [esi + 0x280]
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + 0x284]
mov dword [ebp - 0xc0], eax
mov eax, dword [esi + 0x288]
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + 0x28c]
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 0x290]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + 0x294]
mov dword [ebp - 0xb0], eax
mov eax, dword [esi + 0x298]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0x29c]
mov dword [ebp - 0xa8], eax
mov eax, dword [esi + 0x2a0]
mov dword [ebp - 0xa4], eax
mov eax, dword [esi + 0x2a4]
mov dword [ebp - 0xa0], eax
mov eax, dword [esi + 0x2a8]
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 0x2ac]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0x2b0]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x2b4]
mov dword [ebp - 0x90], eax
mov eax, dword [esi + 0x2b8]
mov dword [ebp - 0x8c], eax
mov eax, dword [esi + 0x2bc]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x2c]
cmp byte [eax + 0x39], 0
jne 0x554706
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x2c]
movzx edx, byte [eax + 0xc]
mov ecx, edx
and ecx, 7
je 0x553ced
movzx edx, byte [ebp - 0xb8]
and edx, 0xfffffff8
or edx, ecx
mov byte [ebp - 0xb8], dl
movzx edx, byte [eax + 0xc]
and edx, 0x78
je 0x553d0b
movzx ecx, byte [eax + 0xc]
movzx edx, byte [ebp - 0xb8]
and ecx, 0x78
and edx, 0xffffff87
or edx, ecx
mov byte [ebp - 0xb8], dl
movzx ecx, byte [eax + 0x27]
movzx edx, byte [eax + 0x28]
shr cl, 7
and edx, 0x7f
movzx ecx, cl
add edx, edx
or edx, ecx
cmp dl, 0xff
je 0x553d53
movzx ecx, byte [ebp - 0x9d]
mov ebx, edx
and ebx, 1
shl ebx, 7
shr edx, 1
and ecx, 0x7f
or ecx, ebx
mov byte [ebp - 0x9d], cl
movzx ecx, byte [ebp - 0x9c]
and ecx, 0xffffff80
or ecx, edx
mov byte [ebp - 0x9c], cl
movzx ecx, byte [eax + 0x37]
movzx edx, byte [eax + 0x38]
shr cl, 5
and edx, 0x1f
movzx ecx, cl
shl edx, 3
or ecx, edx
je 0x553d97
movzx edx, byte [ebp - 0x8d]
mov ebx, ecx
shl ebx, 5
shr ecx, 3
and edx, 0x1f
or edx, ebx
mov byte [ebp - 0x8d], dl
movzx edx, byte [ebp - 0x8c]
and edx, 0xffffffe0
or edx, ecx
mov byte [ebp - 0x8c], dl
movzx edx, word [eax + 0x28]
mov ecx, edx
and cx, 0x780
cmp cx, 0x780
je 0x553dc5
mov ecx, edx
movzx edx, word [ebp - 0x9c]
and cx, 0x780
and dx, 0xf87f
or edx, ecx
mov word [ebp - 0x9c], dx
cmp dword [eax + 0x14], 0xffffffff
je 0x553dd4
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + 4]
mov esi, dword [eax + 8]
sub esi, edx
sar esi, 2
imul esi, esi, 0xcccccccd
test esi, esi
je 0x554939
xor esi, esi
mov byte [ebp - 0xd8], 0
mov byte [ebp - 0xd4], 0
jmp 0x553f69
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x2c]
movzx edi, byte [ebp - 0xd4]
movzx eax, byte [eax + 4]
and eax, 0x3f
sub eax, 3
cmp eax, 1
mov eax, 1
cmovbe edi, eax
mov eax, edi
mov byte [ebp - 0xd4], al
mov eax, dword [ebp - 0xc4]
add esi, 1
mov dword [esp + 4], ebx
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x84]
mov dword [esp], eax
mov ecx, dword [ebp - 0xd0]
call fcn.00549fe0
mov eax, dword [ebp - 0x84]
mov dword [ebx], eax
mov eax, dword [ebp - 0x80]
sub esp, 8
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x78]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x74]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x70]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x68]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0x64]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x60]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0x28], eax
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 0x50]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x48]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
sub eax, edx
sar eax, 2
imul eax, eax, 0xcccccccd
cmp esi, eax
jae 0x554060
lea eax, [esi + esi*4]
mov ecx, dword [edx + eax*4]
lea edi, [eax*4]
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov ebx, eax
mov eax, dword [ebp - 0xcc]
movzx edx, byte [ebx + 0x27]
add edi, dword [eax + 4]
movzx eax, byte [ebx + 0x28]
shr dl, 7
movzx edx, dl
add edi, 4
and eax, 0x7f
add eax, eax
or eax, edx
cmp al, 0xff
je 0x553fed
movzx ecx, byte [ebp - 0x9d]
movzx edx, byte [ebp - 0x9c]
shr cl, 7
and edx, 0x7f
movzx ecx, cl
add edx, edx
or edx, ecx
cmp al, dl
je 0x553fed
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x70]
mov dword [esp + 0x10], 0x6e4908
mov dword [esp + 0xc], str.stream
mov dword [esp + 8], str.member_cannot_contradict_block
mov dword [esp + 4], edi
mov dword [esp], ecx
call eax
movzx eax, word [ebx + 0x28]
mov edx, eax
and dx, 0x780
cmp dx, 0x780
je 0x55400c
xor ax, word [ebp - 0x9c]
test ax, 0x780
jne 0x554030
movzx eax, word [ebx + 0x18]
and ax, 0xfff
cmp ax, 0xfff
jne 0x553e08
mov byte [ebp - 0xd8], 1
jmp 0x553e37
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x70]
mov dword [esp + 0x10], 0x6e4908
mov dword [esp + 0xc], str.xfb_buffer
mov dword [esp + 8], str.member_cannot_contradict_block__or_what_block_inherited_from_global_
mov dword [esp + 4], edi
mov dword [esp], ecx
call eax
jmp 0x55400c
movzx esi, byte [ebp - 0xd8]
movzx ebx, byte [ebp - 0xd4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov edi, dword [ebp - 0xd0]
mov dword [esp + 0x10], esi
mov esi, dword [ebp - 0xcc]
mov dword [esp + 0xc], ebx
mov ecx, edi
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0054b440
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
sub esp, 0x14
call dword [eax + 0x2c]
mov ecx, edi
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0054b680
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
sub esp, 8
call dword [eax + 0x2c]
mov ecx, edi
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0054b7a0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
sub esp, 8
call dword [eax + 0x2c]
movzx edx, byte [ebp - 0xb8]
mov ecx, edx
and ecx, 7
je 0x554109
movzx edx, byte [eax + 0xc]
and edx, 0xfffffff8
or edx, ecx
mov byte [eax + 0xc], dl
movzx edx, byte [ebp - 0xb8]
test dl, 0x78
je 0x55411d
movzx ecx, byte [eax + 0xc]
and edx, 0x78
and ecx, 0xffffff87
or ecx, edx
mov byte [eax + 0xc], cl
movzx ecx, byte [ebp - 0x9d]
movzx edx, byte [ebp - 0x9c]
shr cl, 7
and edx, 0x7f
movzx ecx, cl
add edx, edx
or edx, ecx
cmp dl, 0xff
je 0x55415f
movzx ecx, byte [eax + 0x27]
mov ebx, edx
and ebx, 1
shl ebx, 7
shr edx, 1
and ecx, 0x7f
or ecx, ebx
mov byte [eax + 0x27], cl
movzx ecx, byte [eax + 0x28]
and ecx, 0xffffff80
or ecx, edx
mov byte [eax + 0x28], cl
movzx ecx, byte [ebp - 0x8d]
movzx edx, byte [ebp - 0x8c]
shr cl, 5
and edx, 0x1f
movzx ecx, cl
shl edx, 3
or ecx, edx
je 0x55419d
movzx edx, byte [eax + 0x37]
mov ebx, ecx
shl ebx, 5
shr ecx, 3
and edx, 0x1f
or edx, ebx
mov byte [eax + 0x37], dl
movzx edx, byte [eax + 0x38]
and edx, 0xffffffe0
or edx, ecx
mov byte [eax + 0x38], dl
movzx edx, word [ebp - 0x9c]
mov ecx, edx
and cx, 0x780
cmp cx, 0x780
je 0x5541c8
mov ecx, edx
movzx edx, word [eax + 0x28]
and cx, 0x780
and dx, 0xf87f
or edx, ecx
mov word [eax + 0x28], dx
cmp dword [ebp - 0xb0], 0xffffffff
je 0x5541da
mov edx, dword [ebp - 0xb0]
mov dword [eax + 0x14], edx
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x5541f1
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x10]
mov eax, dword [eax + 4]
mov ecx, dword [eax - 0xc]
test ecx, ecx
jne 0x5541fe
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x18]
mov ebx, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x2c]
and byte [ebp - 0x7e], 0xf0
and byte [ebp - 0x7c], 0xfe
mov dword [ebp - 0x84], 0x6f2308
mov byte [ebp - 0x80], 0xe
mov byte [ebp - 0x7f], 1
mov edx, dword [eax]
mov dword [ebp - 0x78], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x74], edx
mov edx, dword [eax + 8]
mov dword [ebp - 0x70], edx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x6c], edx
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x68], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x64], edx
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x60], edx
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x5c], edx
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x58], edx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x54], edx
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x50], edx
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x4c], edx
mov edx, dword [eax + 0x30]
mov dword [ebp - 0x48], edx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x44], edx
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x40], edx
mov eax, dword [eax + 0x3c]
and byte [ebp - 0x24], 0x80
or byte [ebp - 0x1c], 0xf
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x34], eax
movzx eax, byte [ebp - 0x20]
mov byte [ebp - 0x27], 0
and eax, 0xfffffff8
or eax, 4
mov byte [ebp - 0x20], al
mov ebx, dword [ebx + 4]
call fcn.004cb890
mov dword [esp], 8
mov ecx, eax
call fcn.004cba30
sub esp, 4
mov esi, eax
call fcn.004cb890
test esi, esi
mov dword [ebp - 0xc8], eax
je 0x5542f7
lea eax, [ebp - 0xc8]
mov ecx, esi
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.005f4b30
sub esp, 8
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x2c], esi
test edx, edx
je 0x55430c
mov edx, dword [ebp + 0x14]
lea eax, [ebp - 0x38]
call fcn.00547590
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x554940
call fcn.004cb890
mov dword [esp], 0x98
mov ecx, eax
call fcn.004cba30
mov ebx, eax
mov eax, dword [ebp + 0x10]
sub esp, 4
movzx edx, word [ebx + 0x56]
and byte [ebx + 0x28], 0xc0
and byte [ebx + 0x78], 0x80
or byte [ebx + 0x80], 0xf
or dx, 0x1fe0
mov dword [ebx + 4], eax
movzx eax, byte [ebx + 0x7c]
and word [ebx + 0x2a], 0xfe3f
and word [ebx + 0x28], 0xc03f
and byte [ebx + 0x2d], 0x80
and eax, 0xfffffff8
or eax, 4
mov byte [ebx + 0x7c], al
movzx eax, word [ebx + 0x42]
and byte [ebx + 0x30], 0x80
or dword [ebx + 0x44], 0x7fff8000
and ax, 0xf80f
or ax, 0x3f0
mov word [ebx + 0x42], ax
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov byte [ebx + 0x14], 1
mov dword [ebx], 0x6f25c8
mov dword [ebx + 0x18], 0x6f2308
mov byte [ebx + 0x74], 0
mov byte [ebx + 0x75], 0
mov dword [ebx + 0x24], 0
mov byte [ebx + 0x2c], 0
mov dword [ebx + 0x34], 0xffffffff
mov dword [ebx + 0x38], 0xffffffff
mov word [ebx + 0x56], dx
movzx eax, byte [ebx + 0x40]
shr dx, 8
or byte [ebx + 0x4c], 0x7f
or edx, 0xffffffe0
or word [ebx + 0x3c], 0xfff
or word [ebx + 0x4c], 0x780
and eax, 0xfffffff8
or eax, 4
mov byte [ebx + 0x40], al
mov eax, dword [ebx + 0x48]
or dword [ebx + 0x50], 0x1ff80
or word [ebx + 0x54], 0x1ff8
and byte [ebx + 0x5b], 0x1f
or eax, 0x7f8000
mov dword [ebx + 0x48], eax
shr eax, 0x18
or eax, 0xffffff80
and byte [ebx + 0x5c], 0xe0
and dword [ebx + 0x28], 0xffc03fff
mov byte [ebx + 0x57], dl
mov byte [ebx + 0x5d], 0
mov byte [ebx + 0x5e], 0
mov byte [ebx + 0x5f], 0
mov dword [ebx + 0x60], 0xfffff800
mov byte [ebx + 0x4b], al
mov byte [ebx + 0x58], 0xff
mov byte [ebx + 0x84], 0
mov dword [ebx + 0x88], 0x6f1b88
mov dword [ebx + 0x8c], 0
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x94], 0xffffffff
movzx eax, byte [ebp - 0x80]
mov byte [ebx + 0x1c], al
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x74], eax
mov eax, dword [ebp - 0x24]
mov dword [ebx + 0x78], eax
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0x7c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0x80], eax
mov eax, dword [ebp - 0x78]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0x74]
mov dword [ebx + 0x28], eax
mov eax, dword [ebp - 0x70]
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 0x68]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x64]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x60]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0x44], eax
mov eax, dword [ebp - 0x54]
mov dword [ebx + 0x48], eax
mov eax, dword [ebp - 0x50]
mov dword [ebx + 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebx + 0x50], eax
mov eax, dword [ebp - 0x48]
mov dword [ebx + 0x54], eax
mov eax, dword [ebp - 0x44]
mov dword [ebx + 0x58], eax
mov eax, dword [ebp - 0x40]
mov dword [ebx + 0x5c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 0x60], eax
movzx eax, byte [ebx + 0x1d]
movzx edx, byte [ebp - 0x7f]
and eax, 0xfffffff0
and edx, 0xf
or eax, edx
mov byte [ebx + 0x1d], al
movzx edx, byte [ebp - 0x7f]
and eax, 0xf
and edx, 0xfffffff0
or eax, edx
mov byte [ebx + 0x1d], al
movzx eax, byte [ebx + 0x1e]
movzx edx, byte [ebp - 0x7e]
and eax, 0xfffffff0
and edx, 0xf
or eax, edx
mov byte [ebx + 0x1e], al
movzx eax, byte [ebx + 0x20]
movzx edx, byte [ebp - 0x7c]
and eax, 0xfffffffe
and edx, 1
or eax, edx
mov byte [ebx + 0x20], al
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x64], eax
mov eax, dword [ebp - 0x34]
mov dword [ebx + 0x68], eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x70], eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x58]
mov dword [esp], ebx
call fcn.005a7250
sub esp, 4
test al, al
jne 0x554759
mov ecx, dword [ebp + 0x10]
mov dword [esp], 0x6e4908
call fcn.005d3a20
sub esp, 4
test eax, eax
jne 0x5545f3
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp + 8]
mov eax, dword [esi]
mov eax, dword [eax + 0x70]
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0x10], 0x6e4908
mov dword [esp + 0xc], 0x6e4908
mov dword [esp + 8], str.nameless_block_contains_a_member_that_already_has_a_name_at_global_scope
call eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0xd4], edx
call dword [eax + 0x2c]
mov ecx, dword [ebp - 0xd0]
mov dword [esp], eax
call fcn.0054c700
mov edx, dword [ebp - 0xd4]
sub esp, 4
cmp dword [ebp - 0xd8], edx
je 0x553954
mov eax, dword [edx + 0x18]
test eax, eax
jne 0x553ae2
jmp 0x553954
mov edi, dword [ebp - 0xd0]
mov ecx, ebx
mov eax, dword [edi]
mov esi, dword [eax + 0x70]
mov eax, dword [ebx]
call dword [eax + 0xc]
mov eax, dword [eax + 4]
mov dword [esp], edi
mov dword [esp + 0x10], 0x6e4908
mov dword [esp + 8], str.block_instance_name_redefinition
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
call esi
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp eax, 3
jne 0x554844
mov esi, dword [ebp - 0xd0]
mov eax, dword [esi + 0x300]
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + 0x304]
mov dword [ebp - 0xc0], eax
mov eax, dword [esi + 0x308]
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + 0x30c]
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 0x310]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + 0x314]
mov dword [ebp - 0xb0], eax
mov eax, dword [esi + 0x318]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0x31c]
mov dword [ebp - 0xa8], eax
mov eax, dword [esi + 0x320]
mov dword [ebp - 0xa4], eax
mov eax, dword [esi + 0x324]
mov dword [ebp - 0xa0], eax
mov eax, dword [esi + 0x328]
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 0x32c]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0x330]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x334]
mov dword [ebp - 0x90], eax
mov eax, dword [esi + 0x338]
mov dword [ebp - 0x8c], eax
mov eax, dword [esi + 0x33c]
mov dword [ebp - 0x88], eax
jmp 0x553cac
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x2c]
test byte [eax + 0xc], 0x78
jne 0x553cc1
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x2c]
movzx edx, byte [eax + 0xc]
and edx, 0xffffff87
or edx, 0x18
mov byte [eax + 0xc], dl
jmp 0x553cc1
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov ecx, dword [ebp - 0xd0]
mov dword [esp], eax
call fcn.0054c700
sub esp, 4
jmp 0x5538d4
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx]
mov eax, dword [eax + 0xdc]
mov dword [esp], ebx
call eax
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov edi, dword [ebp - 0xd0]
mov eax, dword [edi + 0x340]
mov dword [ebp - 0xc4], eax
mov eax, dword [edi + 0x344]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 0x348]
mov dword [ebp - 0xbc], eax
mov eax, dword [edi + 0x34c]
mov dword [ebp - 0xb8], eax
mov eax, dword [edi + 0x350]
mov dword [ebp - 0xb4], eax
mov eax, dword [edi + 0x354]
mov dword [ebp - 0xb0], eax
mov eax, dword [edi + 0x358]
mov dword [ebp - 0xac], eax
mov eax, dword [edi + 0x35c]
mov dword [ebp - 0xa8], eax
mov eax, dword [edi + 0x360]
mov dword [ebp - 0xa4], eax
mov eax, dword [edi + 0x364]
mov dword [ebp - 0xa0], eax
mov eax, dword [edi + 0x368]
mov dword [ebp - 0x9c], eax
mov eax, dword [edi + 0x36c]
mov dword [ebp - 0x98], eax
mov eax, dword [edi + 0x370]
mov dword [ebp - 0x94], eax
mov eax, dword [edi + 0x374]
mov dword [ebp - 0x90], eax
mov eax, dword [edi + 0x378]
mov dword [ebp - 0x8c], eax
mov eax, dword [edi + 0x37c]
mov dword [ebp - 0x88], eax
jmp 0x553cac
lea ecx, [ebp - 0xc4]
and word [ebp - 0xbe], 0xfe3f
and byte [ebp - 0xbc], 0xfc
call fcn.005a63e0
and dword [ebp - 0xc0], 0xffc03fff
jmp 0x553cac
mov esi, dword [ebp - 0xd0]
mov eax, dword [esi + 0x2c0]
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + 0x2c4]
mov dword [ebp - 0xc0], eax
mov eax, dword [esi + 0x2c8]
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + 0x2cc]
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 0x2d0]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + 0x2d4]
mov dword [ebp - 0xb0], eax
mov eax, dword [esi + 0x2d8]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0x2dc]
mov dword [ebp - 0xa8], eax
mov eax, dword [esi + 0x2e0]
mov dword [ebp - 0xa4], eax
mov eax, dword [esi + 0x2e4]
mov dword [ebp - 0xa0], eax
mov eax, dword [esi + 0x2e8]
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 0x2ec]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0x2f0]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x2f4]
mov dword [ebp - 0x90], eax
mov eax, dword [esi + 0x2f8]
mov dword [ebp - 0x8c], eax
mov eax, dword [esi + 0x2fc]
mov dword [ebp - 0x88], eax
jmp 0x553cac
xor ebx, ebx
jmp 0x55406e
mov dword [esp], 0x6e4908
call fcn.005a8790
mov dword [ebp + 0x10], eax
jmp 0x554317
mov edx, eax
jmp 0x553a79