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

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0x8c
test ecx, ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
je 0x4aad80
mov ebx, dword [eax + 0x118]
test ebx, ebx
jne case.default.0x4ad929
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
cmp eax, 0x46
jbe switch.0x004aad72
mov dword [ebp + 0x118], 1
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
jmp dword [eax*4 + 0x50ba98]
mov dword [eax + 0x118], 1
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [esp + 0x20], 4
mov ecx, dword [esp + 0x1c]
jne 0x4ad059
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 4]
test esi, esi
je case.default.0x4ad929
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4aadd4
mov ecx, eax
add eax, 1
add ebx, 1
cmp esi, ebx
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je case.default.0x4ad929
cmp eax, 0xff
movzx edx, byte [edi + ebx]
jne 0x4aadb8
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4aadbd
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004aad30
mov eax, dword [ebp + 0x100]
test byte [esp + 0x20], 4
jne 0x4acc83
xor ebx, ebx
jmp 0x4aae62
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 2
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acca3
cmp eax, 0xff
movzx edx, byte [ebx + 0x50b874]
jne 0x4aae41
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4aae46
mov edx, dword [esp + 0x1c]
mov eax, ebp
add edx, 4
call fcn.004aab20
test eax, eax
je 0x4ad389
cmp dword [eax], 0x2b
je 0x4ad376
mov ebx, dword [ebp + 0x110]
mov ecx, eax
mov eax, ebp
mov edx, dword [ebx]
mov dword [ebp + 0x110], edx
mov edx, dword [esp + 0x20]
call fcn.004aad30
mov dword [ebp + 0x110], ebx
jmp case.default.0x4ad929
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
mov eax, dword [ebp + 0x100]
mov esi, dword [ecx + 4]
test esi, esi
jne 0x4aafa1
jmp 0x4aaf31
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 4
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je case.default.0x4ad929
cmp eax, 0xff
movzx edx, byte [ebx + str.this]
jne 0x4aaf10
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4aaf15
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 6
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acf7b
cmp eax, 0xff
movzx edx, byte [ebx + str.parm]
jne 0x4aaf80
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4aaf85
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ebp + 0x114]
mov dword [ebp + 0x114], 0
mov esi, dword [ecx + 4]
mov dword [esp + 0x28], ebx
test esi, esi
je 0x4adac9
mov eax, dword [esi]
lea ebx, [esp + 0x38]
mov ecx, dword [ebp + 0x110]
mov dword [esp + 0x38], 0
mov dword [ebp + 0x114], ebx
sub eax, 0x1a
cmp eax, 2
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], ecx
ja 0x4adf31
lea eax, [esp + 0x48]
mov edi, 1
mov esi, dword [esi + 4]
test esi, esi
je 0x4adac9
cmp edi, 4
je 0x4acf6c
mov edx, dword [ebp + 0x114]
mov dword [eax + 4], esi
mov dword [eax + 8], 0
mov dword [eax + 0xc], ecx
mov dword [eax], edx
mov edx, edi
add eax, 0x10
shl edx, 4
add edi, 1
add edx, ebx
mov dword [ebp + 0x114], edx
mov edx, dword [esi]
sub edx, 0x1a
cmp edx, 2
jbe 0x4ab04c
mov eax, dword [esi]
cmp eax, 4
je 0x4add9b
cmp eax, 2
jne 0x4ab139
mov edx, dword [esi + 8]
cmp dword [edx], 0x41
jne 0x4ab0b1
mov edx, dword [edx + 4]
mov eax, dword [edx]
sub eax, 0x1a
cmp eax, 2
ja 0x4ab139
cmp edi, 3
ja 0x4ade14
lea eax, [edi - 1]
mov dword [esp + 0x24], eax
shl eax, 4
mov dword [esp + 0x2c], esi
add eax, ebx
mov esi, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
jmp 0x4ab0ed
add eax, 0x10
cmp edi, 4
je 0x4ade14
lea esi, [edi - 1]
mov ecx, dword [eax + 4]
shl esi, 4
add esi, ebx
mov dword [eax + 0x10], esi
mov esi, edi
add edi, 1
shl esi, 4
mov dword [eax + 0x14], ecx
mov ecx, dword [eax + 8]
add esi, ebx
mov dword [ebp + 0x114], esi
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0x18], ecx
mov ecx, dword [eax + 0xc]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 0xc], ecx
mov edx, dword [edx + 4]
mov esi, dword [edx]
sub esi, 0x1a
cmp esi, 2
jbe 0x4ab0de
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov eax, ebp
call fcn.004aad30
cmp dword [esi], 4
je 0x4ade05
test edi, edi
je 0x4ad9a1
sub edi, 1
mov eax, edi
mov esi, edi
shl eax, 4
mov dword [esp + 0x24], edi
lea ebx, [ebx + eax + 8]
jmp 0x4ab17e
sub ebx, 0x10
test esi, esi
je 0x4ad9a1
sub esi, 1
mov ecx, dword [ebx]
test ecx, ecx
jne 0x4ab170
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
je 0x4adf01
mov ecx, dword [ebx - 4]
mov edx, dword [esp + 0x20]
mov byte [ebp + eax], 0x20
add eax, 1
mov dword [ebp + 0x100], eax
mov eax, ebp
mov byte [ebp + 0x104], 0x20
call fcn.004ae0b0
jmp 0x4ab170
mov ecx, dword [esp + 0x1c]
test byte [esp + 0x20], 4
mov ebx, dword [ebp + 0x114]
mov dword [ebp + 0x114], 0
mov eax, dword [ecx + 4]
je 0x4ab1e8
mov edx, dword [eax]
test edx, edx
jne 0x4ab1e8
cmp dword [eax + 8], 6
je 0x4adb7a
mov edx, dword [esp + 0x20]
mov ecx, eax
mov eax, ebp
call fcn.004aad30
mov eax, dword [ebp + 0x100]
cmp byte [ebp + 0x104], 0x3c
je 0x4ad9d5
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ad6fa
mov dword [ebp + 0x100], edx
mov edx, dword [esp + 0x1c]
mov byte [ebp + eax], 0x3c
mov eax, ebp
mov byte [ebp + 0x104], 0x3c
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x20]
call fcn.004aad30
mov eax, dword [ebp + 0x100]
cmp byte [ebp + 0x104], 0x3e
je 0x4ad9b0
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ad6c5
mov byte [ebp + eax], 0x3e
mov dword [ebp + 0x100], edx
mov byte [ebp + 0x104], 0x3e
mov dword [ebp + 0x114], ebx
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 8]
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ad799
mov byte [ebp + eax], 0x7e
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0x100], edx
mov edx, dword [esp + 0x20]
mov byte [ebp + 0x104], 0x7e
mov ecx, dword [eax + 8]
mov eax, ebp
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ab2f7
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0xb
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acc6c
cmp eax, 0xff
movzx edx, byte [ebx + str.vtable_for]
jne 0x4ab2d6
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ab2db
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
mov edx, dword [eax]
cmp edx, 5
je 0x4ada2f
cmp edx, 0x1f
je 0x4ad1d8
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], edx
je 0x4ad1d8
cmp edx, 0x20
je 0x4ad999
mov esi, dword [ebp + 0x114]
lea eax, [esp + 0x38]
mov ecx, dword [esp + 0x1c]
mov dword [ebp + 0x114], eax
mov eax, dword [ebp + 0x110]
mov dword [esp + 0x38], esi
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.004aad30
mov esi, dword [esp + 0x40]
test esi, esi
jne 0x4ab3c7
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
call fcn.004ae0b0
mov eax, dword [esp + 0x38]
mov dword [ebp + 0x114], eax
jmp case.default.0x4ad929
mov ecx, dword [esp + 0x1c]
test byte [esp + 0x20], 4
mov eax, dword [ecx + 4]
jne 0x4ad13a
mov esi, dword [eax + 4]
mov edi, dword [eax]
test esi, esi
je case.default.0x4ad929
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ab420
mov ecx, eax
add eax, 1
add ebx, 1
cmp esi, ebx
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je case.default.0x4ad929
cmp eax, 0xff
movzx edx, byte [edi + ebx]
jne 0x4ab400
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ab405
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004aad30
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x20]
and ebx, 0x20
jne 0x4ad41a
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4adafe
test ebx, ebx
jne 0x4ad5a9
test byte [esp + 0x20], 0x40
je 0x4ad7ce
mov eax, dword [ebp + 0x114]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp], eax
mov eax, ebp
add ecx, 8
and edx, 0xffffff9f
call fcn.004aed00
jmp case.default.0x4ad929
mov ebx, dword [ebp + 0x114]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x110]
mov dword [esp + 0x40], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x38], ebx
lea ebx, [esp + 0x38]
mov esi, ebx
mov dword [ebp + 0x114], ebx
test ecx, ecx
mov dword [esp + 0x44], eax
je 0x4add0d
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov eax, dword [eax]
sub eax, 0x17
cmp eax, 2
ja 0x4add0d
mov eax, edx
mov edi, 1
mov dword [esp + 0x24], ebx
jmp 0x4ab53e
mov edx, dword [eax + 4]
mov edx, dword [edx]
sub edx, 0x17
cmp edx, 2
ja 0x4ab58f
mov edx, dword [eax + 8]
test edx, edx
jne 0x4ab589
cmp edi, 3
ja 0x4ad834
mov ebx, dword [eax]
mov edx, edi
add edi, 1
shl edx, 4
lea ecx, [esp + edx + 0x38]
mov dword [esp + edx + 0x38], ebx
mov ebx, dword [eax + 4]
mov dword [ecx + 4], ebx
mov ebx, dword [eax + 8]
mov dword [ecx + 8], ebx
mov ebx, dword [eax + 0xc]
mov dword [ecx + 0xc], ebx
mov dword [esp + edx + 0x38], esi
mov esi, dword [esp + 0x24]
add esi, edx
mov dword [ebp + 0x114], esi
mov dword [eax + 8], 1
mov eax, dword [eax]
test eax, eax
jne 0x4ab531
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov eax, ebp
call fcn.004aad30
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
test eax, eax
mov dword [ebp + 0x114], edx
jne case.default.0x4ad929
cmp edi, 1
je 0x4ad1b8
sub edi, 1
mov esi, dword [esp + 0x20]
mov eax, edi
shl eax, 4
lea ebx, [ebx + eax + 4]
mov ecx, dword [ebx]
mov edx, esi
mov eax, ebp
sub ebx, 0x10
call fcn.004ae0b0
cmp edi, 1
je 0x4ad1b8
sub edi, 1
jmp 0x4ab5d4
mov ecx, dword [esp + 0x1c]
cmp word [ecx + 0xa], 0
jne 0x4ad3a3
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 4]
cmp dword [ecx + 4], 0x50c3a0
je 0x4ad398
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.004aad30
mov edx, dword [ebp + 0x100]
cmp edx, 0xff
lea eax, [edx + 1]
je 0x4ad9fa
mov byte [ebp + edx], 0x20
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], 0x20
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
cmp word [ecx + 8], 0
je 0x4ab6e3
jmp 0x4ab679
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 6
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je case.default.0x4ad929
cmp eax, 0xff
movzx edx, byte [ebx + str._Accum]
jne 0x4ab658
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ab65d
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 6
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je case.default.0x4ad929
cmp eax, 0xff
movzx edx, byte [ebx + str._Fract]
jne 0x4ab6c2
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ab6c7
mov eax, dword [ebp + 0x114]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [ebp + 0x114], eax
mov eax, dword [ebp + 0x110]
mov ebx, ecx
mov dword [esp + 0x3c], ecx
mov ecx, dword [ecx + 8]
mov dword [esp + 0x44], eax
mov eax, ebp
call fcn.004aad30
mov esi, dword [esp + 0x40]
test esi, esi
jne 0x4ab77f
mov edx, dword [esp + 0x20]
mov ecx, ebx
mov eax, ebp
call fcn.004ae0b0
mov eax, dword [esp + 0x38]
mov dword [ebp + 0x114], eax
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x4ab7a4
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.004aad30
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.default.0x4ad929
mov ebx, dword [ebp + 0x100]
cmp ebx, 0xfd
ja 0x4ac86a
xor esi, esi
jmp 0x4ab7f1
mov edx, ebx
add ebx, 1
add esi, 1
cmp esi, 2
mov byte [ebp + edx], al
mov dword [ebp + 0x100], ebx
mov byte [ebp + 0x104], al
je 0x4acf2e
cmp ebx, 0xff
movzx eax, byte [esi + 0x50b9c1]
jne 0x4ab7d0
mov edx, dword [ebp + 0x10c]
mov ebx, 1
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], al
mov dword [esp + 4], 0xff
mov dword [esp + 8], edx
mov dword [esp], ebp
call dword [ebp + 0x108]
xor edx, edx
movzx eax, byte [esp + 0x18]
add dword [ebp + 0x120], 1
jmp 0x4ab7d5
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ab866
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x1a
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4ac8ab
cmp eax, 0xff
movzx edx, byte [ebx + str.covariant_return_thunk_to]
jne 0x4ab845
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ab84a
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ab8e1
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x11
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acc55
cmp eax, 0xff
movzx edx, byte [ebx + str.hidden_alias_for]
jne 0x4ab8c0
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ab8c5
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ab955
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x13
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acdc6
cmp eax, 0xff
movzx edx, byte [ebx + str.guard_variable_for]
jne 0x4ab934
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ab939
mov esi, dword [ebp + 0x114]
test esi, esi
je 0x4ab376
mov edx, esi
jmp 0x4ab9ba
mov edx, dword [edx]
test edx, edx
je 0x4ab376
mov edi, dword [edx + 8]
test edi, edi
jne 0x4ab9b0
mov ecx, dword [edx + 4]
mov ecx, dword [ecx]
lea ebx, [ecx - 0x17]
cmp ebx, 2
ja 0x4ab376
cmp eax, ecx
jne 0x4ab9b0
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4aba18
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0xf
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4ac8c2
cmp eax, 0xff
movzx edx, byte [ebx + str.java_Class_for]
jne 0x4ab9f7
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ab9fc
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 4]
test esi, esi
je case.default.0x4ad929
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4abaa0
mov ecx, eax
add eax, 1
add ebx, 1
cmp esi, ebx
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je case.default.0x4ad929
cmp eax, 0xff
movzx edx, byte [edi + ebx]
jne 0x4aba80
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4aba85
xor ecx, ecx
mov eax, dword [ebp + 0x114]
test ecx, ecx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [ebp + 0x114], eax
mov eax, dword [ebp + 0x110]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], eax
jne 0x4ab3a5
jmp 0x4ab39e
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4abb51
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x15
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acddd
cmp eax, 0xff
movzx edx, byte [ebx + str.reference_temporary_]
jne 0x4abb30
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4abb35
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4abbc5
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x12
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acd98
cmp eax, 0xff
movzx edx, byte [ebx + str.typeinfo_name_for]
jne 0x4abba4
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4abba9
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4abc39
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x10
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acdaf
cmp eax, 0xff
movzx edx, byte [ebx + str.typeinfo_fn_for]
jne 0x4abc18
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4abc1d
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4abcb1
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x15
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acd6a
cmp eax, 0xff
movzx edx, byte [ebx + str.non_virtual_thunk_to]
jne 0x4abc90
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4abc95
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4abd25
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x11
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acd81
cmp eax, 0xff
movzx edx, byte [ebx + str.virtual_thunk_to]
jne 0x4abd04
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4abd09
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4abd99
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x18
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4accba
cmp eax, 0xff
movzx edx, byte [ebx + str.construction_vtable_for]
jne 0x4abd78
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4abd7d
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4abe11
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0xd
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acd53
cmp eax, 0xff
movzx edx, byte [ebx + str.typeinfo_for]
jne 0x4abdf0
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4abdf5
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4abe85
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 8
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4ac8d9
cmp eax, 0xff
movzx edx, byte [ebx + str.VTT_for]
jne 0x4abe64
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4abe69
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
cmp dword [edx], 0x35
je 0x4ad1e7
mov dword [ebp + 0x118], 1
jmp case.default.0x4ad929
mov dword [ebp + 0x118], 1
jmp case.default.0x4ad929
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
mov edx, dword [ecx + 4]
cmp dword [edx], 0x23
jne 0x4abf27
mov edx, dword [edx + 4]
mov ebx, dword [edx + 0x10]
cmp ebx, 1
jb 0x4abf27
cmp ebx, 6
jbe 0x4ad8f8
cmp ebx, 7
je 0x4ad8ad
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ad878
mov byte [ebp + eax], 0x28
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0x100], edx
mov edx, dword [esp + 0x20]
mov byte [ebp + 0x104], 0x28
mov ecx, dword [eax + 4]
mov eax, ebp
call fcn.004aad30
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ad843
mov ecx, dword [esp + 0x1c]
mov byte [ebp + eax], 0x29
mov byte [ebp + 0x104], 0x29
mov dword [ebp + 0x100], edx
cmp dword [ecx], 0x38
je 0x4adad8
cmp ebx, 8
je 0x4ada66
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov eax, ebp
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4abfe1
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0xe
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4ac9a6
cmp eax, 0xff
movzx edx, byte [ebx + str.java_resource]
jne 0x4abfc0
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4abfc5
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 4]
mov ebx, dword [edx + 8]
test ecx, ecx
je 0x4ac043
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.004aad30
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ad5f1
mov dword [ebp + 0x100], edx
mov edx, dword [esp + 0x20]
mov ecx, ebx
mov byte [ebp + eax], 0x7b
mov eax, ebp
mov byte [ebp + 0x104], 0x7b
call fcn.004aad30
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ad5bc
mov byte [ebp + eax], 0x7d
mov dword [ebp + 0x100], edx
mov byte [ebp + 0x104], 0x7d
jmp case.default.0x4ad929
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
mov eax, dword [ebp + 0x100]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x1c], ecx
mov esi, dword [ecx + 8]
jmp 0x4ac0e1
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 8
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4ac907
cmp eax, 0xff
movzx edx, byte [ebx + 0x50b9c4]
jne 0x4ac0c0
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ac0c5
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ac155
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 9
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4ac8f0
cmp eax, 0xff
movzx edx, byte [ebx + str.operator]
jne 0x4ac134
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ac139
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ac1c9
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 9
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acef7
cmp eax, 0xff
movzx edx, byte [ebx + str.operator]
jne 0x4ac1a8
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ac1ad
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov eax, ebp
call fcn.004af200
jmp case.default.0x4ad929
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov eax, dword [ebx]
mov dword [esp + 0x1c], ecx
cmp eax, 0x2d
je 0x4ad469
cmp eax, 0x2f
je 0x4ad541
mov edx, dword [esp + 0x20]
mov ecx, ebx
mov eax, ebp
call fcn.004af200
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
call fcn.004af2d0
jmp case.default.0x4ad929
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 8]
cmp dword [eax], 0x33
je 0x4ad281
mov dword [ebp + 0x118], 1
jmp case.default.0x4ad929
mov dword [ebp + 0x118], 1
jmp case.default.0x4ad929
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ac2c5
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x1d
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acc3e
cmp eax, 0xff
movzx edx, byte [ebx + str.global_constructors_keyed_to]
jne 0x4ac2a4
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ac2a9
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ac339
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x1c
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acf17
cmp eax, 0xff
movzx edx, byte [ebx + str.global_destructors_keyed_to]
jne 0x4ac318
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ac31d
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ac3b1
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 8
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4ac9eb
cmp eax, 0xff
movzx edx, byte [ebx + str.lambda_]
jne 0x4ac390
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ac395
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ac425
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0xe
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acb56
cmp eax, 0xff
movzx edx, byte [ebx + str.unnamed_type]
jne 0x4ac404
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ac409
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ac499
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x16
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4ac9bd
cmp eax, 0xff
movzx edx, byte [ebx + str.transaction_clone_for]
jne 0x4ac478
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ac47d
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ac511
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0x1a
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4ac9d4
cmp eax, 0xff
movzx edx, byte [ebx + str.non_transaction_clone_for]
jne 0x4ac4f0
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ac4f5
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [ecx + 4]
call fcn.004aab50
test eax, eax
je 0x4adde2
cmp dword [eax], 0x2b
jne case.default.0x4ad929
mov esi, dword [eax + 4]
xor edi, edi
test esi, esi
jne 0x4ac595
jmp case.default.0x4ad929
cmp dword [eax], 0x2b
jne 0x4ac59f
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x4ac59f
mov edi, edx
mov eax, dword [eax + 8]
lea edx, [edi + 1]
test eax, eax
jne 0x4ac587
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
mov dword [esp + 0x24], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x1c], ecx
jmp 0x4ac5bf
add ebx, 1
cmp ebx, dword [esp + 0x24]
je case.default.0x4ad929
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov dword [ebp + 0x11c], ebx
call fcn.004aad30
cmp ebx, edi
jge 0x4ac5b2
mov dword [esp + 0x28], edi
mov eax, dword [ebp + 0x100]
xor esi, esi
mov edi, ebx
jmp 0x4ac609
mov edx, eax
add eax, 1
add esi, 1
cmp esi, 2
mov byte [ebp + edx], bl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], bl
je 0x4ac8a0
cmp eax, 0xff
movzx ebx, byte [esi + 0x50b9c1]
jne 0x4ac5e8
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov eax, 1
xor edx, edx
add dword [ebp + 0x120], 1
jmp 0x4ac5ed
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
xor ebx, ebx
call fcn.004aad30
mov eax, dword [ebp + 0x100]
jmp 0x4ac686
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 8
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4aceba
cmp eax, 0xff
movzx edx, byte [ebx + str.__clone]
jne 0x4ac665
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ac66a
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov eax, ebp
call fcn.004aad30
mov edx, dword [esp + 0x1c]
mov eax, ebp
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x20]
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [ebp + 0x100]
mov ecx, dword [esp + 0x1c]
cmp eax, 0xff
movzx ebx, byte [ecx + 4]
lea edx, [eax + 1]
je 0x4ad626
mov byte [ebp + eax], bl
mov dword [ebp + 0x100], edx
mov byte [ebp + 0x104], bl
jmp case.default.0x4ad929
mov ecx, dword [esp + 0x1c]
lea ebx, [esp + 0x38]
mov edi, ebx
mov eax, dword [ecx + 4]
mov dword [esp + 4], 0x50ba0a
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_sprintf
mov edx, dword [edi]
add edi, 4
lea eax, [edx - 0x1010101]
not edx
and eax, edx
and eax, 0x80808080
je 0x4ac74a
mov edx, eax
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea edx, [edi + 2]
cmove edi, edx
add al, al
sbb edi, 3
sub edi, ebx
je case.default.0x4ad929
mov eax, dword [ebp + 0x100]
xor esi, esi
mov ecx, ebx
jmp 0x4ac7b0
mov edx, eax
add eax, 1
add esi, 1
cmp esi, edi
mov byte [ebp + edx], bl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], bl
je case.default.0x4ad929
cmp eax, 0xff
movzx ebx, byte [ecx + esi]
jne 0x4ac790
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 0x18], ecx
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor edx, edx
add dword [ebp + 0x120], 1
mov ecx, dword [esp + 0x18]
jmp 0x4ac795
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ac821
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 0xa
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4ace7d
cmp eax, 0xff
movzx edx, byte [ebx + str.decltype__]
jne 0x4ac800
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ac805
mov eax, dword [ebp + 0x10c]
mov byte [ebp + ebx], 0
mov dword [esp + 4], ebx
xor ebx, ebx
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov dword [ebp + 0x100], 0
add dword [ebp + 0x120], 1
jmp 0x4ab7c5
mov ebx, edi
mov edi, dword [esp + 0x28]
jmp 0x4ac5b2
mov edx, dword [esp + 0x1c]
mov eax, ebp
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x20]
call fcn.004aad30
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004aad30
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004aad30
jmp case.default.0x4ad929
mov edx, dword [esp + 0x1c]
mov eax, ebp
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x20]
call fcn.004aad30
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x1c]
mov edi, dword [ebx + 4]
movzx edx, byte [edi]
sub edx, 0x61
cmp dl, 0x19
jbe 0x4ad43d
xor eax, eax
cmp byte [edi + esi - 1], 0x20
sete al
sub esi, eax
je case.default.0x4ad929
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ac960
mov ecx, eax
add eax, 1
add ebx, 1
cmp esi, ebx
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je case.default.0x4ad929
cmp eax, 0xff
movzx edx, byte [edi + ebx]
jne 0x4ac940
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ac945
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004aad30
jmp case.default.0x4ad929
mov edx, dword [esp + 0x1c]
mov eax, ebp
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x20]
call fcn.004aad30
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004aad30
jmp case.default.0x4ad929
mov edx, dword [esp + 0x1c]
mov eax, ebp
xor bl, bl
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x20]
call fcn.004aad30
mov eax, dword [ebp + 0x100]
jmp 0x4aca24
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 2
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4aca6d
cmp eax, 0xff
movzx edx, byte [ebx + 0x50ba7c]
jne 0x4aca07
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4aca0c
mov ecx, dword [esp + 0x1c]
lea ebx, [esp + 0x38]
mov edi, ebx
mov eax, dword [ecx + 8]
mov dword [esp + 4], 0x50ba0a
mov dword [esp], ebx
add eax, 1
mov dword [esp + 8], eax
call sub.msvcrt.dll_sprintf
mov edx, dword [edi]
add edi, 4
lea eax, [edx - 0x1010101]
not edx
and eax, edx
and eax, 0x80808080
je 0x4aca91
mov edx, eax
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea edx, [edi + 2]
cmove edi, edx
add al, al
mov eax, dword [ebp + 0x100]
sbb edi, 3
sub edi, ebx
je 0x4acb31
xor esi, esi
mov ecx, ebx
jmp 0x4acaec
mov edx, eax
add eax, 1
add esi, 1
cmp esi, edi
mov byte [ebp + edx], bl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], bl
je 0x4acb31
cmp eax, 0xff
movzx ebx, byte [ecx + esi]
jne 0x4acad0
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 0x18], ecx
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor edx, edx
add dword [ebp + 0x120], 1
mov ecx, dword [esp + 0x18]
jmp 0x4acad5
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ad764
mov byte [ebp + eax], 0x7d
mov dword [ebp + 0x100], edx
mov byte [ebp + 0x104], 0x7d
jmp case.default.0x4ad929
mov ecx, dword [esp + 0x1c]
lea ebx, [esp + 0x38]
mov edi, ebx
mov eax, dword [ecx + 4]
mov dword [esp + 4], 0x50ba0a
mov dword [esp], ebx
add eax, 1
mov dword [esp + 8], eax
call sub.msvcrt.dll_sprintf
mov edx, dword [edi]
add edi, 4
lea eax, [edx - 0x1010101]
not edx
and eax, edx
and eax, 0x80808080
je 0x4acb7a
mov edx, eax
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea edx, [edi + 2]
cmove edi, edx
add al, al
mov eax, dword [ebp + 0x100]
sbb edi, 3
sub edi, ebx
je 0x4acc19
xor esi, esi
mov ecx, ebx
jmp 0x4acbd4
mov edx, eax
add eax, 1
add esi, 1
cmp esi, edi
mov byte [ebp + edx], bl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], bl
je 0x4acc19
cmp eax, 0xff
movzx ebx, byte [ecx + esi]
jne 0x4acbb8
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 0x18], ecx
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor edx, edx
add dword [ebp + 0x120], 1
mov ecx, dword [esp + 0x18]
jmp 0x4acbbd
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ad72f
mov byte [ebp + eax], 0x7d
mov dword [ebp + 0x100], edx
mov byte [ebp + 0x104], 0x7d
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov eax, ebp
call fcn.004aad30
jmp case.default.0x4ad929
mov edx, dword [esp + 0x1c]
mov eax, ebp
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x20]
call fcn.004aad30
jmp case.default.0x4ad929
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4adb10
mov byte [ebp + eax], 0x2e
mov dword [ebp + 0x100], edx
mov byte [ebp + 0x104], 0x2e
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov eax, ebp
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [esp + 0x1c]
xor bl, bl
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov eax, ebp
call fcn.004aad30
mov eax, dword [ebp + 0x100]
jmp 0x4accf3
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 4
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4acd3c
cmp eax, 0xff
movzx edx, byte [ebx + str._in_]
jne 0x4accd6
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4accdb
mov edx, dword [esp + 0x1c]
mov eax, ebp
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x20]
call fcn.004aad30
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004aad30
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov eax, ebp
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov eax, ebp
call fcn.004aad30
jmp case.default.0x4ad929
mov edx, dword [esp + 0x1c]
mov eax, ebp
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x20]
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov eax, ebp
call fcn.004aad30
jmp case.default.0x4ad929
mov edx, dword [esp + 0x1c]
mov eax, ebp
xor bl, bl
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x20]
call fcn.004aad30
mov eax, dword [ebp + 0x100]
jmp 0x4ace1d
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 5
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4ace66
cmp eax, 0xff
movzx edx, byte [ebx + str._for]
jne 0x4ace00
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ace05
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004aad30
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004aad30
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ad65b
mov byte [ebp + eax], 0x29
mov dword [ebp + 0x100], edx
mov byte [ebp + 0x104], 0x29
jmp case.default.0x4ad929
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov eax, ebp
call fcn.004aad30
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ad690
mov byte [ebp + eax], 0x5d
mov dword [ebp + 0x100], edx
mov byte [ebp + 0x104], 0x5d
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 4]
cmp dword [ecx], 4
je 0x4ad348
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov eax, ebp
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov esi, dword [ebp + 0x120]
mov ecx, dword [eax + 8]
mov eax, ebp
call fcn.004aad30
cmp esi, dword [ebp + 0x120]
jne case.default.0x4ad929
cmp dword [ebp + 0x100], ebx
jne case.default.0x4ad929
sub ebx, 2
mov dword [ebp + 0x100], ebx
jmp case.default.0x4ad929
mov dword [ebp + 0x118], 1
jmp case.default.0x4ad929
lea ebx, [esp + 0x38]
mov dword [esp + 8], esi
mov edi, ebx
mov dword [esp + 4], 0x50ba0a
mov dword [esp], ebx
call sub.msvcrt.dll_sprintf
mov edx, dword [edi]
add edi, 4
lea eax, [edx - 0x1010101]
not edx
and eax, edx
and eax, 0x80808080
je 0x4acf95
mov edx, eax
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea edx, [edi + 2]
cmove edi, edx
add al, al
mov eax, dword [ebp + 0x100]
sbb edi, 3
sub edi, ebx
je 0x4ad034
xor esi, esi
mov ecx, ebx
jmp 0x4acfef
mov edx, eax
add eax, 1
add esi, 1
cmp esi, edi
mov byte [ebp + edx], bl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], bl
je 0x4ad034
cmp eax, 0xff
movzx ebx, byte [ecx + esi]
jne 0x4acfd3
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 0x18], ecx
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor edx, edx
add dword [ebp + 0x120], 1
mov ecx, dword [esp + 0x18]
jmp 0x4acfd8
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4adb45
mov byte [ebp + eax], 0x7d
mov dword [ebp + 0x100], edx
mov byte [ebp + 0x104], 0x7d
jmp case.default.0x4ad929
mov ebx, dword [ecx + 4]
mov esi, dword [ecx + 8]
add esi, ebx
cmp ebx, esi
jb 0x4ad09c
jmp case.default.0x4ad929
mov edx, dword [ebp + 0x100]
cmp edx, 0xff
lea ecx, [edx + 1]
je 0x4ad0fc
mov byte [ebp + edx], al
mov dword [ebp + 0x100], ecx
mov byte [ebp + 0x104], al
add ebx, 1
cmp esi, ebx
jbe case.default.0x4ad929
mov eax, esi
sub eax, ebx
cmp eax, 3
movzx eax, byte [ebx]
jle 0x4ad070
cmp al, 0x5f
jne 0x4ad070
cmp byte [ebx + 1], 0x5f
jne 0x4ad070
cmp byte [ebx + 2], 0x55
jne 0x4ad070
lea edi, [ebx + 3]
cmp esi, edi
jbe 0x4ad070
xor ecx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x4ad0dd
movsx edx, dl
sub edx, 0x30
shl ecx, 4
add edi, 1
add ecx, edx
cmp edi, esi
je 0x4add17
movzx edx, byte [edi]
lea ebx, [edx - 0x30]
cmp bl, 9
jbe 0x4ad0c7
lea ebx, [edx - 0x41]
cmp bl, 5
ja 0x4ad35f
movsx edx, dl
sub edx, 0x37
jmp 0x4ad0cd
mov edx, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], al
mov dword [esp + 4], 0xff
mov dword [esp + 8], edx
mov dword [esp], ebp
call dword [ebp + 0x108]
mov ecx, 1
xor edx, edx
add dword [ebp + 0x120], 1
movzx eax, byte [esp + 0x18]
jmp 0x4ad081
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 8]
test esi, esi
je case.default.0x4ad929
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ad172
mov ecx, eax
add eax, 1
add ebx, 1
cmp esi, ebx
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je case.default.0x4ad929
cmp eax, 0xff
movzx edx, byte [edi + ebx]
jne 0x4ad152
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ad157
mov eax, dword [ebp + 0x114]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp], eax
mov eax, ebp
add ecx, 4
call fcn.004aea80
jmp case.default.0x4ad929
mov esi, dword [ebp + 0x114]
mov dword [esp + 0x1c], eax
jmp 0x4ab376
mov eax, dword [edx + 8]
cmp dword [eax], 0x36
jne 0x4abede
mov ecx, dword [esp + 0x1c]
mov edi, 0x50b9e9
mov edx, dword [edx + 4]
mov ebx, dword [ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], ecx
mov ecx, 3
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 4]
mov esi, dword [eax]
repe cmpsb byte [esi], byte es:[edi]
je 0x4add50
mov edx, str.new
mov eax, ebp
call fcn.004aac90
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 4], 0
je 0x4ad253
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.004af2d0
mov edx, 0x20
mov eax, ebp
call fcn.004aa760
mov ecx, dword [esp + 0x28]
mov eax, ebp
mov edx, dword [esp + 0x20]
call fcn.004aad30
cmp dword [esp + 0x24], 0
je case.default.0x4ad929
mov ecx, dword [esp + 0x24]
mov eax, ebp
mov edx, dword [esp + 0x20]
call fcn.004af2d0
jmp case.default.0x4ad929
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + 4]
mov esi, dword [edx]
cmp byte [esi + 1], 0x63
je 0x4adbb2
cmp dword [ecx], 0x2d
je 0x4adc70
mov ecx, 3
mov edi, 0x50b9e3
repe cmpsb byte [esi], byte es:[edi]
mov ecx, dword [eax + 4]
jne 0x4ad2ba
cmp dword [ecx], 3
je 0x4adca6
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.004af2d0
mov ecx, dword [esp + 0x1c]
mov edi, 0x50b9e6
mov eax, dword [ecx + 4]
mov ecx, 3
mov edx, dword [eax + 4]
mov edx, dword [edx]
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4adc3e
mov ecx, 3
mov esi, edx
mov edi, 0x50b9e3
repe cmpsb byte [esi], byte es:[edi]
jne 0x4adccb
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 8]
mov ecx, dword [eax + 8]
mov eax, ebp
call fcn.004af2d0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
cmp dword [eax], 0x2d
jne case.default.0x4ad929
mov eax, dword [eax + 4]
cmp dword [eax + 8], 1
jne case.default.0x4ad929
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne case.default.0x4ad929
mov edx, 0x29
mov eax, ebp
call fcn.004aa760
jmp case.default.0x4ad929
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
add ecx, 4
call fcn.004aeff0
jmp case.default.0x4ad929
lea ebx, [edx - 0x61]
cmp bl, 5
ja 0x4ae003
movsx edx, dl
sub edx, 0x57
jmp 0x4ad0cd
mov edx, dword [ebp + 0x11c]
call fcn.004aa7d0
test eax, eax
jne 0x4aaeca
mov dword [ebp + 0x118], 1
jmp case.default.0x4ad929
mov eax, dword [ebp + 0x100]
jmp 0x4ab645
mov eax, dword [ebp + 0x100]
xor ebx, ebx
jmp 0x4ad3d1
mov ecx, eax
add eax, 1
add ebx, 1
cmp ebx, 5
mov byte [ebp + ecx], dl
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], dl
je 0x4ab5ff
cmp eax, 0xff
movzx edx, byte [ebx + str._Sat]
jne 0x4ad3b0
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov byte [esp + 0x18], dl
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [ebp + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebp + 0x120], 1
movzx edx, byte [esp + 0x18]
jmp 0x4ad3b5
mov eax, dword [ebp + 0x114]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp], eax
mov eax, ebp
add ecx, 8
and edx, 0xffffff9f
call fcn.004aed00
jmp 0x4ab48a
cmp eax, 0xff
je 0x4adcdd
mov byte [ebp + eax], 0x20
add eax, 1
mov dword [ebp + 0x100], eax
mov eax, dword [esp + 0x1c]
mov byte [ebp + 0x104], 0x20
mov edi, dword [eax + 4]
jmp 0x4ac91d
mov eax, dword [ebx + 4]
mov edi, 0x50b9d7
mov ecx, 3
mov eax, dword [eax]
mov dword [esp + 0x24], eax
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4ad48f
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], 3
je 0x4ade23
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], 0x33
je 0x4adfcb
mov edx, dword [esp + 0x20]
mov ecx, ebx
mov eax, ebp
call fcn.004af200
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x4ac258
mov esi, dword [esp + 0x24]
mov edi, 0x50b9da
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x4ad985
mov esi, dword [esp + 0x24]
mov edi, 0x50b9dd
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
jne 0x4ac258
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
je 0x4ade71
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov byte [ebp + eax], 0x28
add eax, 1
mov dword [ebp + 0x100], eax
mov eax, ebp
mov byte [ebp + 0x104], 0x28
call fcn.004aad30
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
je 0x4ade41
mov byte [ebp + eax], 0x29
add eax, 1
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], 0x29
jmp case.default.0x4ad929
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
je 0x4addb2
mov byte [ebp + eax], 0x28
add eax, 1
mov byte [ebp + 0x104], 0x28
mov ecx, dword [ebx + 4]
mov dword [ebp + 0x100], eax
cmp dword [ecx], 4
je 0x4adc2b
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.004aad30
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
je 0x4add20
mov byte [ebp + eax], 0x29
add eax, 1
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], 0x29
jmp 0x4ac258
mov edx, dword [esp + 0x20]
mov eax, ebp
and edx, 0xffffff9f
call fcn.004aad30
jmp case.default.0x4ad929
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ac08a
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ac057
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ac714
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4acea3
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4acee0
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ab25b
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ab216
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4acc27
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4acb3f
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ab2a3
mov eax, dword [ebp + 0x114]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [ebp + 0x114], eax
mov eax, dword [ebp + 0x110]
mov dword [esp + 0x3c], ecx
mov ecx, dword [ecx + 4]
and edx, 0xffffff9f
mov dword [esp + 0x44], eax
mov eax, ebp
call fcn.004aad30
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
test ebx, ebx
mov dword [ebp + 0x114], eax
jne case.default.0x4ad929
mov edx, 0x20
mov eax, ebp
call fcn.004aa760
jmp 0x4ab4ac
mov dword [ebp + 0x118], 1
jmp case.default.0x4ad929
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4abf73
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4abf3b
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
mov edi, dword [edx]
test edi, edi
jne 0x4abf27
cmp dword [edx + 8], 1
jne 0x4abf27
cmp eax, 0x37
jne 0x4abf27
mov eax, dword [edx + 4]
movzx eax, byte [eax]
cmp al, 0x30
je 0x4ae061
cmp al, 0x31
jne 0x4abf27
mov edx, str.true
mov eax, ebp
call fcn.004aac90
jmp case.default.0x4ad929
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 8]
mov edx, dword [ecx]
test edx, edx
jne 0x4abf27
cmp eax, 0x38
je 0x4adfeb
mov edx, dword [esp + 0x20]
mov eax, ebp
sub ebx, 2
call fcn.004aad30
cmp ebx, 4
ja case.default.0x4ad929
jmp dword [ebx*4 + 0x50bbb4]
mov edx, 0x50b9f8
mov eax, ebp
call fcn.004aac90
jmp case.default.0x4ad929
mov edx, 0x50b9f5
mov eax, ebp
call fcn.004aac90
jmp case.default.0x4ad929
mov edx, 0x6c
mov eax, ebp
call fcn.004aa760
jmp case.default.0x4ad929
mov edx, 0x75
mov eax, ebp
call fcn.004aa760
jmp case.default.0x4ad929
mov edx, 0x50b9fb
mov eax, ebp
call fcn.004aac90
jmp case.default.0x4ad929
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
call fcn.004aad30
jmp case.default.0x4ad929
mov ecx, dword [eax + 4]
jmp 0x4abae8
mov ebx, dword [esp + 0x28]
mov dword [ebp + 0x114], ebx
jmp case.default.0x4ad929
cmp eax, 0xff
je 0x4aded1
mov byte [ebp + eax], 0x20
add eax, 1
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], 0x20
jmp 0x4ab24d
cmp eax, 0xff
je 0x4adea1
mov byte [ebp + eax], 0x20
add eax, 1
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], 0x20
jmp 0x4ab208
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov eax, 1
xor edx, edx
add dword [ebp + 0x120], 1
jmp 0x4ab633
lea edx, [eax + 4]
mov eax, ebp
call fcn.004aab20
test eax, eax
je 0x4ae052
mov edx, dword [eax]
cmp edx, 0x2b
jne 0x4ab352
mov edx, dword [ebp + 0x11c]
call fcn.004aa7d0
test eax, eax
je 0x4ae052
mov edx, dword [eax]
jmp 0x4ab352
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
je 0x4adf9b
mov ebx, dword [esp + 0x1c]
mov byte [ebp + eax], 0x5b
add eax, 1
mov edx, dword [esp + 0x20]
mov dword [ebp + 0x100], eax
mov eax, ebp
mov byte [ebp + 0x104], 0x5b
mov ecx, dword [ebx + 8]
call fcn.004aad30
mov eax, dword [ebp + 0x100]
cmp eax, 0xff
je 0x4adf6b
mov byte [ebp + eax], 0x5d
add eax, 1
mov dword [ebp + 0x100], eax
mov byte [ebp + 0x104], 0x5d
jmp case.default.0x4ad929
mov dword [ebp + 0x118], 1
jmp case.default.0x4ad929
cmp edx, 0xff
je 0x4adf3b
mov byte [ebp + edx], 0x2d
add edx, 1
mov dword [ebp + 0x100], edx
mov byte [ebp + 0x104], 0x2d
jmp 0x4abf92
test ebx, ebx
jne case.default.0x4ad929
jmp 0x4ab4ac
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4acc91
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov edx, 1
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ad042
mov esi, dword [eax + 4]
mov edi, str.JArray
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
jne 0x4ab1e8
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov eax, ebp
call fcn.004aad30
mov edx, 0x50b87e
mov eax, ebp
call fcn.004aac90
jmp 0x4ab26d
movzx ebx, byte [esi]
cmp bl, 0x64
je 0x4adbcd
cmp bl, 0x73
je 0x4adbcd
cmp bl, 0x63
je 0x4adbcd
cmp bl, 0x72
jne 0x4ad297
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.004af200
mov eax, ebp
mov edx, 0x3c
call fcn.004aa760
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 8]
mov ecx, dword [eax + 4]
mov eax, ebp
call fcn.004aad30
mov eax, ebp
mov edx, 0x50b9e0
call fcn.004aac90
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 8]
mov ecx, dword [eax + 8]
mov eax, ebp
call fcn.004aad30
mov edx, 0x29
mov eax, ebp
call fcn.004aa760
jmp case.default.0x4ad929
mov edx, dword [esp + 0x20]
lea ecx, [ebx + 4]
mov eax, ebp
call fcn.004aeff0
jmp 0x4ad57e
mov eax, ebp
mov edx, 0x5b
call fcn.004aa760
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 8]
mov ecx, dword [eax + 8]
mov eax, ebp
call fcn.004aad30
mov edx, 0x5d
mov eax, ebp
call fcn.004aa760
jmp 0x4ad30e
cmp dword [edx + 8], 1
jne 0x4ad2a0
mov edx, dword [edx + 4]
cmp byte [edx], 0x3e
jne 0x4ad2a0
mov eax, ebp
mov edx, 0x28
call fcn.004aa760
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [ecx + 8]
jmp 0x4ad2a0
mov eax, dword [ecx + 8]
cmp dword [eax], 0x25
je 0x4adcb8
mov dword [ebp + 0x118], 1
mov ecx, dword [ecx + 4]
mov eax, ebp
mov edx, dword [esp + 0x20]
call fcn.004af2d0
jmp 0x4ad2c5
mov edx, dword [esp + 0x20]
mov ecx, eax
mov eax, ebp
call fcn.004af200
jmp 0x4ad2f9
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ad448
mov edi, 1
jmp 0x4ab593
mov ebx, dword [esp + 0x1c]
jmp 0x4ad070
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ad58f
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
call fcn.004af2d0
mov edx, dword [esp + 0x20]
mov ecx, ebx
mov eax, ebp
call fcn.004af200
mov ecx, dword [esp + 0x28]
mov eax, ebp
mov edx, dword [esp + 0x20]
call fcn.004af2d0
mov eax, ebp
mov edx, 0x50b9ec
call fcn.004aac90
mov ecx, dword [esp + 0x24]
mov eax, ebp
mov edx, dword [esp + 0x20]
call fcn.004af2d0
jmp case.default.0x4ad929
lea eax, [esp + 0x78]
mov dword [esp + 0x78], ecx
mov dword [ebp + 0x110], eax
mov dword [esp + 0x7c], esi
jmp 0x4ab139
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ad552
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 4]
call fcn.004af2d0
mov edx, 0x50ba28
mov eax, ebp
call fcn.004aac90
jmp case.default.0x4ad929
mov eax, dword [esp + 0x78]
mov dword [ebp + 0x110], eax
jmp 0x4ab154
mov dword [ebp + 0x118], 1
jmp case.default.0x4ad929
mov eax, dword [ecx + 4]
cmp dword [eax], 1
jne 0x4ad48f
mov edx, dword [ecx + 8]
cmp dword [edx], 0x25
cmovne eax, ecx
mov dword [esp + 0x1c], eax
jmp 0x4ad49c
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ad527
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ad4f2
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ad9e0
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ad9bb
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ab195
mov edi, 1
jmp 0x4ab092
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
xor edx, edx
add dword [ebp + 0x120], 1
jmp 0x4adae4
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4adaaf
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
xor eax, eax
add dword [ebp + 0x120], 1
jmp 0x4ada77
mov edx, dword [esp + 0x20]
mov eax, ebp
mov ecx, dword [ecx + 4]
call fcn.004af2d0
mov edx, dword [esp + 0x20]
mov ecx, ebx
mov eax, ebp
call fcn.004af200
jmp case.default.0x4ad929
mov eax, ebp
mov edx, 0x2d
call fcn.004aa760
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
jmp 0x4ad912
cmp esi, edi
mov ebx, dword [esp + 0x1c]
jbe 0x4ad070
cmp ecx, 0xff
ja 0x4ad070
cmp dl, 0x5f
jne 0x4ad070
cmp dword [ebp + 0x100], 0xff
mov ebx, ecx
je 0x4ae072
mov eax, dword [ebp + 0x100]
mov byte [ebp + 0x104], bl
mov byte [ebp + eax], bl
add eax, 1
mov ebx, edi
mov dword [ebp + 0x100], eax
jmp 0x4ad091
mov dword [ebp + 0x118], 1
jmp case.default.0x4ad929
mov edx, str.false
mov eax, ebp
call fcn.004aac90
jmp case.default.0x4ad929
mov eax, dword [ebp + 0x10c]
mov byte [ebp + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [ebp + 0x108]
mov dword [ebp + 0x100], 0
add dword [ebp + 0x120], 1
jmp 0x4ae032