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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d1282
mov eax, dword fs:[0]
push eax
sub esp, 0xac
push ebx
push esi
push edi
mov eax, dword [0x640844]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x3c], 0x647438
mov dword [ebp - 4], 0
mov dword [ebp - 0x44], 0x647438
mov dword [ebp - 0x40], 0x647438
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [edi + 0x30]
lea ecx, [edi + 0x2c]
call fcn.0047f850
dec dword [edi + 0x30]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x30], esi
cmp eax, dword [ebp + 8]
jne 0x482f96
dec eax
cmp eax, 0xcf
ja case.0x4818e3.4
movzx eax, byte [eax + 0x48313c]
jmp dword [eax*4 + 0x4830d4]
push dword [ebp + 0xc]
mov ecx, edi
push 0x15
call fcn.00481850
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
sub eax, 0x2b
je 0x481b9a
sub eax, 1
je 0x481a5a
sub eax, 1
jne case.default.0x482a5a
push dword [ebp + 0xc]
xor esi, esi
mov byte [ebp - 4], 7
push 0x16
mov ecx, edi
mov byte [ebp + 0xb], al
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
call fcn.00481850
mov eax, dword [ebp + 0xc]
test al, al
jne 0x48199d
push 8
call fcn.004ed176
mov esi, eax
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
push 0x30
movq qword [esi], xmm0
call fcn.004ece2f
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x30], ecx
mov byte [ebp - 4], 8
lea eax, [edi + 0x20]
test ecx, ecx
je 0x481988
mov ecx, eax
call fcn.0047fc60
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.0047f910
mov ecx, eax
lea eax, [edi + 0x20]
jmp 0x48198a
xor ecx, ecx
mov dword [esi + 4], ecx
mov ecx, eax
push 1
mov byte [ebp - 4], 7
call fcn.0047fdb0
mov eax, dword [ebp + 0xc]
push eax
push 0x15
mov ecx, edi
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x481a0a
push 0x30
call fcn.004ece2f
add esp, 4
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x4819d8
lea ecx, [edi + 0x20]
call fcn.0047fc60
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0047f910
jmp 0x4819da
xor eax, eax
push 1
lea ecx, [edi + 0x20]
mov byte [ebp - 4], 7
mov dword [esi], eax
call fcn.0047fdb0
push esi
mov ecx, edi
call fcn.00483eb0
jmp 0x481a0a
mov dword [ebp - 4], 2
test esi, esi
je 0x481a4b
mov eax, dword [ebp - 0x14]
xor esi, esi
nop word [eax + eax]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x481a3c
mov ecx, edi
call fcn.0047fa40
push 0x30
push edi
call fcn.004ece5f
mov eax, dword [ebp - 0x14]
add esp, 8
inc esi
cmp esi, 2
jb 0x481a20
push eax
call fcn.004ed17f
add esp, 4
cmp byte [ebp + 0xb], 0
jne 0x482fae
jmp case.default.0x482a5a
push dword [ebp + 0xc]
xor esi, esi
mov byte [ebp + 0xb], 0
push 0x16
mov ecx, edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 3
call fcn.00481850
mov eax, dword [ebp + 0xc]
test al, al
jne 0x481adf
push 8
call fcn.004ed176
mov esi, eax
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
push 0x30
movq qword [esi], xmm0
call fcn.004ece2f
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x30], ecx
mov byte [ebp - 4], 4
lea eax, [edi + 0x20]
test ecx, ecx
je 0x481aca
mov ecx, eax
call fcn.0047fc60
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.0047f910
mov ecx, eax
lea eax, [edi + 0x20]
jmp 0x481acc
xor ecx, ecx
mov dword [esi + 4], ecx
mov ecx, eax
push 1
mov byte [ebp - 4], 3
call fcn.0047fdb0
mov eax, dword [ebp + 0xc]
push eax
push 0x16
mov ecx, edi
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x481b4c
push 0x30
call fcn.004ece2f
add esp, 4
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x481b1a
lea ecx, [edi + 0x20]
call fcn.0047fc60
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0047f910
jmp 0x481b1c
xor eax, eax
push 1
lea ecx, [edi + 0x20]
mov byte [ebp - 4], 3
mov dword [esi], eax
call fcn.0047fdb0
push esi
mov ecx, edi
call fcn.00483eb0
jmp 0x481b4c
mov dword [ebp - 4], 2
test esi, esi
je 0x481b8b
mov eax, dword [ebp - 0x14]
xor esi, esi
nop dword [eax]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x481b7c
mov ecx, edi
call fcn.0047fa40
push 0x30
push edi
call fcn.004ece5f
mov eax, dword [ebp - 0x14]
add esp, 8
inc esi
cmp esi, 2
jb 0x481b60
push eax
call fcn.004ed17f
add esp, 4
cmp byte [ebp + 0xb], 0
jne 0x482fc6
jmp case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0x16
call fcn.00481850
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
sub eax, 0x2e
je 0x481d2a
sub eax, 1
jne case.default.0x482a5a
push dword [ebp + 0xc]
xor esi, esi
mov byte [ebp + 0xb], al
push 0x17
mov ecx, edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 0xb
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x481c45
push 8
call fcn.004ed176
mov esi, eax
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
push 0x30
movq qword [esi], xmm0
call fcn.004ece2f
mov ecx, eax
add esp, 4
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x30], ecx
mov byte [ebp - 4], 0xc
lea eax, [edi + 0x20]
mov dword [ebp - 0x1c], eax
test ecx, ecx
je 0x481c31
mov ecx, eax
call fcn.0047fc60
mov ecx, dword [ebp - 0x18]
push eax
call fcn.0047f910
mov ecx, eax
lea eax, [edi + 0x20]
jmp 0x481c33
xor ecx, ecx
mov dword [esi + 4], ecx
mov ecx, eax
push 1
mov byte [ebp - 4], 0xb
call fcn.0047fdb0
jmp 0x481c4b
lea eax, [edi + 0x20]
mov dword [ebp - 0x1c], eax
push dword [ebp + 0xc]
mov ecx, edi
push 0x17
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x481cdc
push 0x30
call fcn.004ece2f
add esp, 4
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x30], eax
mov edi, dword [ebp - 0x1c]
mov byte [ebp - 4], 0xd
test eax, eax
je 0x481c8a
mov ecx, edi
call fcn.0047fc60
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0047f910
jmp 0x481c8c
xor eax, eax
push 1
mov ecx, edi
mov byte [ebp - 4], 0xb
mov dword [esi], eax
call fcn.0047fdb0
mov ecx, dword [esi]
call fcn.004855b0
test al, al
je 0x481cb6
mov ecx, dword [esi + 4]
call fcn.004855b0
mov byte [ebp + 0xc], 1
test al, al
jne 0x481cba
mov byte [ebp + 0xc], 0
push dword [ebp + 0xc]
mov ecx, edi
call fcn.0047fec0
jmp 0x481cdc
mov dword [ebp - 4], 2
test esi, esi
je 0x481d1b
mov eax, dword [ebp - 0x14]
xor esi, esi
nop dword [eax]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x481d0c
mov ecx, edi
call fcn.0047fa40
push 0x30
push edi
call fcn.004ece5f
mov eax, dword [ebp - 0x14]
add esp, 8
inc esi
cmp esi, 2
jb 0x481cf0
push eax
call fcn.004ed17f
add esp, 4
cmp byte [ebp + 0xb], 0
jne 0x482fde
jmp case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0x17
call fcn.00481850
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
sub eax, 0x21
je 0x481d62
sub eax, 1
je 0x481d62
sub eax, 1
jne case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0x18
call fcn.00481850
jmp case.default.0x482a5a
push dword [ebp + 0xc]
xor esi, esi
mov byte [ebp + 0xb], 0
push 0x18
mov ecx, edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 0xf
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x481de8
push 8
call fcn.004ed176
mov esi, eax
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
push 0x30
movq qword [esi], xmm0
call fcn.004ece2f
mov ecx, eax
add esp, 4
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 4], 0x10
lea eax, [edi + 0x20]
mov dword [ebp - 0x1c], eax
test ecx, ecx
je 0x481dd4
mov ecx, eax
call fcn.0047fc60
mov ecx, dword [ebp - 0x30]
push eax
call fcn.0047f910
mov ecx, eax
lea eax, [edi + 0x20]
jmp 0x481dd6
xor ecx, ecx
mov dword [esi + 4], ecx
mov ecx, eax
push 1
mov byte [ebp - 4], 0xf
call fcn.0047fdb0
jmp 0x481dee
lea eax, [edi + 0x20]
mov dword [ebp - 0x1c], eax
push dword [ebp + 0xc]
mov ecx, edi
push 0x18
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x481e7f
push 0x30
call fcn.004ece2f
add esp, 4
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x481e2b
lea ecx, [edi + 0x20]
call fcn.0047fc60
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0047f910
jmp 0x481e2d
xor eax, eax
mov dword [esi], eax
lea eax, [edi + 0x20]
push 1
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.0047fdb0
push esi
mov ecx, edi
call fcn.00483af0
cmp dword [ebp - 0x18], 0x21
je 0x481e7f
mov edi, dword [ebp - 0x1c]
mov ecx, edi
call fcn.0047fd70
test al, al
mov ecx, edi
sete byte [ebp + 0xc]
push dword [ebp + 0xc]
call fcn.0047fec0
jmp 0x481e7f
mov dword [ebp - 4], 2
test esi, esi
je 0x481ebb
mov eax, dword [ebp - 0x14]
xor esi, esi
nop
mov edi, dword [eax + esi*4]
test edi, edi
je 0x481eac
mov ecx, edi
call fcn.0047fa40
push 0x30
push edi
call fcn.004ece5f
mov eax, dword [ebp - 0x14]
add esp, 8
inc esi
cmp esi, 2
jb 0x481e90
push eax
call fcn.004ed17f
add esp, 4
cmp byte [ebp + 0xb], 0
jne 0x482ff6
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
add eax, 0xffffffd0
cmp eax, 4
ja case.default.0x482a5a
jmp dword [eax*4 + 0x48320c]
push dword [ebp + 0xc]
mov ecx, edi
push 0x19
call fcn.00481850
jmp case.default.0x482a5a
push dword [ebp + 0xc]
xor esi, esi
mov byte [ebp + 0xb], 0
push 0x19
mov ecx, edi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 0x13
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x481f77
push 8
call fcn.004ed176
mov esi, eax
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], esi
push 0x30
movq qword [esi], xmm0
call fcn.004ece2f
mov ecx, eax
add esp, 4
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 4], 0x14
lea eax, [edi + 0x20]
mov dword [ebp - 0x14], eax
test ecx, ecx
je 0x481f63
mov ecx, eax
call fcn.0047fc60
mov ecx, dword [ebp - 0x30]
push eax
call fcn.0047f910
mov ecx, eax
lea eax, [edi + 0x20]
jmp 0x481f65
xor ecx, ecx
mov dword [esi + 4], ecx
mov ecx, eax
push 1
mov byte [ebp - 4], 0x13
call fcn.0047fdb0
jmp 0x481f7d
lea eax, [edi + 0x20]
mov dword [ebp - 0x14], eax
push dword [ebp + 0xc]
mov ecx, edi
push 0x19
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x482103
push 0x30
call fcn.004ece2f
add esp, 4
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x14]
mov byte [ebp - 4], 0x15
test eax, eax
je 0x481fc0
mov ecx, edi
call fcn.0047fc60
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0047f910
jmp 0x481fc2
xor eax, eax
push 1
mov ecx, edi
mov byte [ebp - 4], 0x13
mov dword [esi], eax
call fcn.0047fdb0
mov ecx, dword [esi]
cmp dword [ecx + 0x28], 3
je 0x482063
mov eax, dword [esi + 4]
cmp dword [eax + 0x28], 3
je 0x482063
call fcn.00485540
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.00485540
mov ecx, dword [ebp - 0x18]
add ecx, 0xffffffcf
cmp ecx, 3
ja case.default.0x482086
jmp dword [ecx*4 + 0x483220]
mov ecx, dword [ebp - 0x14]
cmp edi, eax
setl byte [ebp + 0xc]
push dword [ebp + 0xc]
call fcn.0047fec0
jmp 0x482103
mov ecx, dword [ebp - 0x14]
cmp edi, eax
setg byte [ebp + 0xc]
push dword [ebp + 0xc]
call fcn.0047fec0
jmp 0x482103
mov ecx, dword [ebp - 0x14]
cmp edi, eax
setle byte [ebp + 0xc]
push dword [ebp + 0xc]
call fcn.0047fec0
jmp 0x482103
mov ecx, dword [ebp - 0x14]
cmp edi, eax
setge byte [ebp + 0xc]
push dword [ebp + 0xc]
call fcn.0047fec0
jmp 0x482103
call fcn.004854b0
mov ecx, dword [esi + 4]
fstp qword [ebp - 0x28]
call fcn.004854b0
mov eax, dword [ebp - 0x18]
add eax, 0xffffffcf
fstp qword [ebp - 0x34]
movsd xmm0, qword [ebp - 0x34]
cmp eax, 3
ja case.default.0x482086
jmp dword [eax*4 + 0x483230]
comisd xmm0, xmmword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
seta byte [ebp + 0xc]
push dword [ebp + 0xc]
call fcn.0047fec0
jmp 0x482103
movsd xmm1, qword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
comisd xmm1, xmm0
seta byte [ebp + 0xc]
push dword [ebp + 0xc]
call fcn.0047fec0
jmp 0x482103
comisd xmm0, xmmword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
setae byte [ebp + 0xc]
push dword [ebp + 0xc]
call fcn.0047fec0
jmp 0x482103
movsd xmm1, qword [ebp - 0x28]
comisd xmm1, xmm0
setae byte [ebp + 0xc]
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
call fcn.0047fec0
jmp 0x482103
mov dword [ebp - 4], 2
test esi, esi
je 0x48213e
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x48212f
mov ecx, edi
call fcn.0047fa40
push 0x30
push edi
call fcn.004ece5f
mov eax, dword [ebp - 0x1c]
add esp, 8
inc esi
cmp esi, 2
jb 0x482113
push eax
call fcn.004ed17f
add esp, 4
cmp byte [ebp + 0xb], 0
jne 0x48300e
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
add eax, 0xffffffda
cmp eax, 4
ja case.default.0x482a5a
jmp dword [eax*4 + 0x483240]
push dword [ebp + 0xc]
mov ecx, edi
push 0x1a
call fcn.00481850
jmp case.default.0x482a5a
push dword [ebp + 0xc]
xor esi, esi
mov byte [ebp - 4], 0x17
push 0x1a
mov ecx, edi
mov byte [ebp + 0xb], 0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
call fcn.00481850
mov eax, dword [ebp + 0xc]
test al, al
jne 0x4821f9
push 8
call fcn.004ed176
mov esi, eax
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
push 0x30
movq qword [esi], xmm0
call fcn.004ece2f
mov ecx, eax
add esp, 4
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 4], 0x18
lea eax, [edi + 0x20]
test ecx, ecx
je 0x4821e4
mov ecx, eax
call fcn.0047fc60
mov ecx, dword [ebp - 0x30]
push eax
call fcn.0047f910
mov ecx, eax
lea eax, [edi + 0x20]
jmp 0x4821e6
xor ecx, ecx
mov dword [esi + 4], ecx
mov ecx, eax
push 1
mov byte [ebp - 4], 0x17
call fcn.0047fdb0
mov eax, dword [ebp + 0xc]
push eax
push 0x1a
mov ecx, edi
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x482273
push 0x30
call fcn.004ece2f
add esp, 4
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x482234
lea ecx, [edi + 0x20]
call fcn.0047fc60
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0047f910
jmp 0x482236
xor eax, eax
push 1
lea ecx, [edi + 0x20]
mov byte [ebp - 4], 0x17
mov dword [esi], eax
call fcn.0047fdb0
cmp dword [ebp - 0x18], 0x27
mov ecx, edi
push esi
jne 0x482256
call fcn.00483ef0
jmp 0x482273
call fcn.00483e30
jmp 0x482273
mov dword [ebp - 4], 2
test esi, esi
je 0x4822ae
mov eax, dword [ebp - 0x14]
xor esi, esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x48229f
mov ecx, edi
call fcn.0047fa40
push 0x30
push edi
call fcn.004ece5f
mov eax, dword [ebp - 0x14]
add esp, 8
inc esi
cmp esi, 2
jb 0x482283
push eax
call fcn.004ed17f
add esp, 4
cmp byte [ebp + 0xb], 0
jne 0x483026
jmp case.default.0x482a5a
push dword [ebp + 0xc]
xor esi, esi
mov byte [ebp - 4], 0x1b
push 0x1a
mov ecx, edi
mov byte [ebp + 0xb], 0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
call fcn.00481850
mov eax, dword [ebp + 0xc]
test al, al
jne 0x482342
push 8
call fcn.004ed176
mov esi, eax
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
push 0x30
movq qword [esi], xmm0
call fcn.004ece2f
mov ecx, eax
add esp, 4
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 4], 0x1c
lea eax, [edi + 0x20]
test ecx, ecx
je 0x48232d
mov ecx, eax
call fcn.0047fc60
mov ecx, dword [ebp - 0x30]
push eax
call fcn.0047f910
mov ecx, eax
lea eax, [edi + 0x20]
jmp 0x48232f
xor ecx, ecx
mov dword [esi + 4], ecx
mov ecx, eax
push 1
mov byte [ebp - 4], 0x1b
call fcn.0047fdb0
mov eax, dword [ebp + 0xc]
push eax
push 0x19
mov ecx, edi
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x4823bc
push 0x30
call fcn.004ece2f
add esp, 4
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x1d
test eax, eax
je 0x48237d
lea ecx, [edi + 0x20]
call fcn.0047fc60
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0047f910
jmp 0x48237f
xor eax, eax
push 1
lea ecx, [edi + 0x20]
mov byte [ebp - 4], 0x1b
mov dword [esi], eax
call fcn.0047fdb0
cmp dword [ebp - 0x18], 0x29
mov ecx, edi
push esi
jne 0x48239f
call fcn.00483ef0
jmp 0x4823bc
call fcn.00483e30
jmp 0x4823bc
mov dword [ebp - 4], 2
test esi, esi
je 0x4823fb
mov eax, dword [ebp - 0x14]
xor esi, esi
nop dword [eax]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x4823ec
mov ecx, edi
call fcn.0047fa40
push 0x30
push edi
call fcn.004ece5f
mov eax, dword [ebp - 0x14]
add esp, 8
inc esi
cmp esi, 2
jb 0x4823d0
push eax
call fcn.004ed17f
add esp, 4
cmp byte [ebp + 0xb], 0
jne 0x48303e
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
add eax, 0xffffffc9
cmp eax, 3
ja case.default.0x482a5a
jmp dword [eax*4 + 0x483254]
push dword [ebp + 0xc]
mov ecx, edi
push 0x1b
call fcn.00481850
jmp case.default.0x482a5a
push dword [ebp + 0xc]
xor esi, esi
mov byte [ebp - 4], 0x1f
push 0x1b
mov ecx, edi
mov byte [ebp + 0xb], 0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x4824b7
push 8
call fcn.004ed176
mov esi, eax
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
push 0x30
movq qword [esi], xmm0
call fcn.004ece2f
mov ecx, eax
add esp, 4
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 4], 0x20
lea eax, [edi + 0x20]
mov dword [ebp - 0x1c], eax
test ecx, ecx
je 0x4824a3
mov ecx, eax
call fcn.0047fc60
mov ecx, dword [ebp - 0x30]
push eax
call fcn.0047f910
mov ecx, eax
lea eax, [edi + 0x20]
jmp 0x4824a5
xor ecx, ecx
mov dword [esi + 4], ecx
mov ecx, eax
push 1
mov byte [ebp - 4], 0x1f
call fcn.0047fdb0
jmp 0x4824bd
lea eax, [edi + 0x20]
mov dword [ebp - 0x1c], eax
push dword [ebp + 0xc]
mov ecx, edi
push 0x1b
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x48262a
push 0x30
call fcn.004ece2f
add esp, 4
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x21
test eax, eax
je 0x482500
mov ecx, edi
call fcn.0047fc60
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0047f910
jmp 0x482502
xor eax, eax
push 1
mov ecx, edi
mov byte [ebp - 4], 0x1f
mov dword [esi], eax
call fcn.0047fdb0
mov ecx, dword [esi]
mov edi, dword [ebp - 0x18]
cmp dword [ecx + 0x28], 3
je 0x48258e
mov eax, dword [esi + 4]
cmp dword [eax + 0x28], 3
je 0x48258e
cmp edi, 0x39
je 0x48258e
call fcn.00485540
mov ecx, dword [esi + 4]
mov dword [ebp + 0xc], eax
call fcn.00485540
mov ecx, eax
sub edi, 0x38
je 0x482577
sub edi, 2
jne 0x482561
mov eax, dword [ebp + 0xc]
cdq
idiv ecx
push 0x5e2230
mov ecx, edx
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.004800a0
jmp 0x48262a
mov ecx, dword [ebp + 0xc]
push 0x5e2230
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.004800a0
jmp 0x48262a
imul ecx, dword [ebp + 0xc]
push 0x5e2230
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.004800a0
jmp 0x48262a
call fcn.004854b0
mov ecx, dword [esi + 4]
fstp qword [ebp - 0x28]
call fcn.004854b0
fstp qword [ebp - 0x34]
movsd xmm2, qword [ebp - 0x34]
sub edi, 0x38
je 0x4825f9
sub edi, 1
je 0x4825d2
sub edi, 1
jne 0x4825cb
cvttsd2si eax, qword [ebp - 0x28]
cvttsd2si ecx, xmm2
cdq
idiv ecx
movd xmm0, edx
cvtdq2pd xmm0, xmm0
jmp 0x482602
movsd xmm0, qword [ebp - 0x28]
jmp 0x482602
movsd xmm0, qword [0x5e2d80]
movaps xmm1, xmm2
andps xmm1, xmmword [0x5e1fc0]
comisd xmm0, xmm1
ja 0x483056
movsd xmm0, qword [ebp - 0x28]
divsd xmm0, xmm2
jmp 0x482602
movsd xmm0, qword [ebp - 0x28]
mulsd xmm0, xmm2
mov ecx, dword [ebp - 0x1c]
sub esp, 8
movsd qword [esp], xmm0
call fcn.0047ffb0
jmp 0x48262a
mov dword [ebp - 4], 2
test esi, esi
je 0x48266b
mov eax, dword [ebp - 0x14]
xor esi, esi
nop word [eax + eax]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x48265c
mov ecx, edi
call fcn.0047fa40
push 0x30
push edi
call fcn.004ece5f
mov eax, dword [ebp - 0x14]
add esp, 8
inc esi
cmp esi, 2
jb 0x482640
push eax
call fcn.004ed17f
add esp, 4
cmp byte [ebp + 0xb], 0
jne 0x48306e
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
sub eax, 0x35
je 0x4827d3
sub eax, 1
jne case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0x1b
call fcn.00481850
mov eax, dword [edi + 0x74]
xorps xmm0, xmm0
mov dword [ebp - 0xb8], 0x647438
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], 5
mov byte [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
movsd qword [ebp - 0xa8], xmm0
add edi, 0x20
mov byte [ebp - 4], 0x23
mov ecx, edi
call fcn.0047fc60
push eax
lea ecx, [ebp - 0xb8]
call fcn.004804b0
push 1
mov ecx, edi
call fcn.0047fdb0
cmp dword [ebp - 0x90], 3
lea ecx, [ebp - 0xb8]
je 0x48273a
call fcn.00485540
neg eax
mov ecx, edi
push str.unary__
push eax
call fcn.004800a0
jmp 0x48275c
call fcn.004854b0
fmul qword [0x5e2d88]
sub esp, 8
mov ecx, edi
fstp qword [ebp - 0x28]
movsd xmm0, qword [ebp - 0x28]
movsd qword [esp], xmm0
call fcn.0047ffb0
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x482796
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
je 0x48277f
push ecx
call fcn.004ed17f
mov eax, dword [ebp - 0xa0]
add esp, 4
test eax, eax
je 0x482796
mov eax, dword [ebp - 0x98]
test eax, eax
je 0x482796
push eax
call fcn.004ed17f
add esp, 4
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
cmp eax, 0x647438
je case.default.0x482a5a
push eax
call fcn.004ed17f
add esp, 4
jmp case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0x12
call fcn.00481850
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
sub eax, 0x24
je 0x4829a8
sub eax, 1
jne case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0x12
call fcn.00481850
lea ecx, [edi + 0x20]
call fcn.0047fc60
cmp dword [eax + 0x28], 4
jne 0x483086
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x25
push eax
lea ecx, [edi + 0x20]
call fcn.0047fcd0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0x50]
call fcn.00484c80
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x25
call fcn.0047faa0
push dword [ebp + 0xc]
mov ecx, edi
push 0x13
call fcn.00481850
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x20]
call fcn.0047fcd0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0x2c]
call fcn.00484c80
lea ecx, [ebp - 0x38]
call fcn.0047faa0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0x38]
call fcn.00484c80
xor esi, esi
cmp dword [ebp - 0x2c], esi
jbe 0x4828ec
nop dword [eax]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x38]
movzx eax, byte [eax + esi]
push eax
mov eax, dword [ebp - 0x28]
push dword [eax + esi*4]
call fcn.00485020
inc esi
cmp esi, dword [ebp - 0x2c]
jb 0x4828d0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x20]
call fcn.00480190
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x482926
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x482912
push ecx
call fcn.004ed17f
mov eax, dword [ebp - 0x38]
add esp, 4
test eax, eax
je 0x482926
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x482926
push eax
call fcn.004ed17f
add esp, 4
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x482954
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x482940
push ecx
call fcn.004ed17f
mov eax, dword [ebp - 0x2c]
add esp, 4
test eax, eax
je 0x482954
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x482954
push eax
call fcn.004ed17f
add esp, 4
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
test eax, eax
je case.default.0x482a5a
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x482987
push ecx
call fcn.004ed17f
mov eax, dword [ebp - 0x50]
add esp, 4
test eax, eax
je case.default.0x482a5a
mov eax, dword [ebp - 0x48]
test eax, eax
je case.default.0x482a5a
push eax
call fcn.004ed17f
add esp, 4
jmp case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0x13
call fcn.00481850
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
add eax, 0xffffffeb
cmp eax, 3
ja case.default.0x482a5a
jmp dword [eax*4 + 0x483264]
push dword [ebp + 0xc]
mov ecx, edi
push 1
call fcn.00481850
jmp case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0x14
call fcn.00481850
jmp case.default.0x482a5a
mov esi, dword [ebp + 0xc]
mov ecx, edi
push esi
push 0x14
call fcn.00481850
push esi
push 3
mov ecx, edi
call fcn.00481850
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
sub eax, 0x19
je 0x482a3a
sub eax, 1
jne case.default.0x482a5a
mov esi, dword [ebp + 0xc]
mov ecx, edi
push esi
push 0x14
call fcn.00481850
push esi
push 8
mov ecx, edi
call fcn.00481850
jmp case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0xf
call fcn.00481850
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff8
cmp eax, 4
ja case.default.0x482a5a
jmp dword [eax*4 + 0x483274]
push dword [ebp + 0xc]
mov ecx, edi
push 0x24
call fcn.00481850
jmp case.default.0x482a5a
cmp byte [ebp + 0xc], 0
jne case.default.0x482a5a
lea eax, [ebp - 0x3c]
jmp 0x482f1b
cmp byte [ebp + 0xc], 0
jne case.default.0x482a5a
mov eax, dword [ebp - 0x3c]
add eax, 8
push 0x2e
push eax
call fcn.004efc10
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x3c]
je 0x482aca
add eax, 8
push eax
call fcn.0050050a
push ecx
fstp qword [ebp - 0x28]
movsd xmm0, qword [ebp - 0x28]
lea ecx, [edi + 0x20]
movsd qword [esp], xmm0
call fcn.0047ffb0
jmp case.default.0x482a5a
add eax, 8
push eax
call fcn.00500540
add esp, 4
lea ecx, [edi + 0x20]
push str.primary_number
push eax
call fcn.004800a0
jmp case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0x10
call fcn.00481850
jmp case.default.0x482a5a
xor eax, eax
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov byte [ebp + 0xb], al
cmp dword [ebp - 0x18], eax
je 0x482bec
mov ecx, dword [ebp + 0xc]
test cl, cl
jne 0x482b50
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ed176
add esp, 4
mov dword [ebp - 0x1c], eax
lea ecx, [esi*4]
mov dword [ebp - 0x20], eax
push ecx
push 0
push eax
call fcn.004ef230
mov ecx, dword [ebp + 0xc]
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x18], eax
cmp eax, esi
jae 0x482bec
push ecx
push 0x11
mov ecx, edi
call fcn.00481850
mov ecx, dword [ebp + 0xc]
test cl, cl
jne 0x482be3
cmp dword [edi + 0x24], 0
je 0x48309e
push 0x30
call fcn.004ece2f
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], esi
mov byte [ebp - 4], 0x2a
test esi, esi
je 0x482bc0
lea ecx, [edi + 0x20]
call fcn.0047fc60
mov dword [esi], 0x647438
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x2c
call fcn.004804b0
jmp 0x482bc2
xor esi, esi
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
push 1
mov byte [ebp - 4], 0x29
mov dword [ecx + eax*4 - 4], esi
lea ecx, [edi + 0x20]
call fcn.0047fdb0
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x18]
inc eax
jmp 0x482b52
push dword [ebp + 0xc]
mov ecx, edi
push 0xce
call fcn.00481850
cmp byte [ebp + 0xc], 0
jne 0x482c48
lea eax, [ebp + 0xc]
push eax
lea ecx, [edi + 0x20]
call fcn.0047fba0
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 0x2d
push dword [eax]
lea ecx, [eax + 8]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00484ae0
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 0x29
cmp eax, 0x647438
je 0x482c39
push eax
call fcn.004ed17f
add esp, 4
push dword [ebp - 0x1c]
lea eax, [ebp - 0x40]
mov ecx, edi
push esi
push eax
call fcn.00480d90
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
jmp 0x482c69
mov dword [ebp - 4], 2
test ecx, ecx
je 0x482caf
xor esi, esi
test edi, edi
je 0x482ca6
nop word [eax + eax]
mov eax, dword [ecx + esi*4]
mov dword [ebp + 0xc], eax
test eax, eax
je 0x482ca1
mov ecx, eax
call fcn.0047fa40
push 0x30
push dword [ebp + 0xc]
call fcn.004ece5f
mov ecx, dword [ebp - 0x1c]
add esp, 8
inc esi
cmp esi, edi
jb 0x482c80
push ecx
call fcn.004ed17f
add esp, 4
cmp byte [ebp + 0xb], 0
jne 0x4830b6
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
sub eax, 0x10
je 0x482ce3
sub eax, 1
jne case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0xd0
call fcn.00481850
jmp case.default.0x482a5a
mov esi, dword [ebp + 0xc]
mov ecx, edi
push esi
push 0xd0
call fcn.00481850
push esi
push 0xcf
mov ecx, edi
call fcn.00481850
jmp case.default.0x482a5a
cmp byte [ebp + 0xc], 0
jne case.default.0x482a5a
lea eax, [ebp + 0xc]
push eax
lea ecx, [edi + 0x20]
call fcn.0047fba0
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 0x2f
push dword [eax]
lea ecx, [eax + 8]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00484ae0
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 2
cmp eax, 0x647438
je 0x482d47
push eax
call fcn.004ed17f
add esp, 4
push 1
push 0x5e2c4c
lea ecx, [ebp - 0x3c]
call fcn.00484a90
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x3c]
push dword [eax]
add eax, 8
push eax
call fcn.00484a90
lea eax, [ebp - 0x3c]
jmp 0x482f1b
mov eax, dword [ebp - 0x18]
sub eax, 0x1b
je 0x482d91
sub eax, 1
jne case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 2
call fcn.00481850
jmp case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 3
call fcn.00481850
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
sub eax, 3
je 0x482d91
sub eax, 2
jne case.default.0x482a5a
push dword [ebp + 0xc]
lea eax, [ebp + 8]
mov dword [ebp + 8], 0xfffffffe
push eax
mov ecx, edi
call fcn.00483290
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
sub eax, 0
je 0x482df8
sub eax, 1
je case.default.0x482a5a
sub eax, 1
jne case.default.0x482a5a
push 1
push 1
push esi
mov ecx, edi
call fcn.00480c70
jmp case.default.0x482a5a
push 0
push 1
push esi
mov ecx, edi
call fcn.00480c70
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
sub eax, 0x12
je 0x482e4c
sub eax, 1
je 0x482e3b
sub eax, 1
jne case.default.0x482a5a
cmp byte [ebp + 0xc], al
jne case.default.0x482a5a
push str.axis_specifier_is_empty
push eax
lea ecx, [edi + 0x20]
call fcn.004800a0
jmp case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 6
call fcn.00481850
jmp case.default.0x482a5a
cmp byte [ebp + 0xc], 0
jne case.default.0x482a5a
push str.axis_specifier_is_at
push 1
lea ecx, [edi + 0x20]
call fcn.004800a0
jmp case.default.0x482a5a
cmp byte [ebp + 0xc], 0
jne case.default.0x482a5a
push str.axis_is_a_name
push esi
lea ecx, [edi + 0x20]
call fcn.004800a0
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
cmp eax, 0x1d
je 0x482ea9
cmp eax, 0x20
jne case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0x25
call fcn.00481850
jmp case.default.0x482a5a
cmp byte [ebp + 0xc], 0
jne case.default.0x482a5a
lea ecx, [edi + 0x20]
call fcn.0047fc90
push str.axis_is_a_keyword
push dword [ebp - 0x14]
lea ecx, [edi + 0x20]
call fcn.004800a0
jmp 0x482f09
push dword [ebp + 0xc]
mov ecx, edi
push 9
call fcn.00481850
jmp case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0xe
call fcn.00481850
jmp case.default.0x482a5a
mov eax, dword [ebp - 0x18]
sub eax, 0xd
je 0x482f03
sub eax, 2
jne case.default.0x482a5a
push dword [ebp + 0xc]
mov ecx, edi
push 0xce
call fcn.00481850
jmp case.default.0x482a5a
cmp byte [ebp + 0xc], 0
jne case.default.0x482a5a
push 1
push 0x5e2230
lea ecx, [ebp - 0x44]
call fcn.00484ae0
lea eax, [ebp - 0x44]
push ecx
mov ecx, esp
push eax
call fcn.0047f890
mov ecx, edi
call fcn.00484860
mov eax, dword [ebp - 0x40]
cmp eax, 0x647438
je 0x482f3e
push eax
call fcn.004ed17f
add esp, 4
mov eax, dword [ebp - 0x44]
cmp eax, 0x647438
je 0x482f51
push eax
call fcn.004ed17f
add esp, 4
mov eax, dword [ebp - 0x3c]
cmp eax, 0x647438
je 0x482f64
push eax
call fcn.004ed17f
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0xc
lea ecx, [ebp - 0x88]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x88]
push eax
call fcn.004ee6eb
push 2
lea ecx, [ebp - 0x54]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x54]
push eax
call fcn.004ee6eb
push 7
lea ecx, [ebp - 0x58]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x58]
push eax
call fcn.004ee6eb
push 3
lea ecx, [ebp - 0x5c]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x5c]
push eax
call fcn.004ee6eb
push 4
lea ecx, [ebp - 0x60]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x60]
push eax
call fcn.004ee6eb
push 5
lea ecx, [ebp - 0x64]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x64]
push eax
call fcn.004ee6eb
push 6
lea ecx, [ebp - 0x68]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x68]
push eax
call fcn.004ee6eb
push 7
lea ecx, [ebp - 0x6c]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x6c]
push eax
call fcn.004ee6eb
push 7
lea ecx, [ebp - 0x70]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x70]
push eax
call fcn.004ee6eb
push 0x21
lea ecx, [ebp - 0x74]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x74]
push eax
call fcn.004ee6eb
push 8
lea ecx, [ebp - 0x78]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x78]
push eax
call fcn.004ee6eb
push 9
lea ecx, [ebp - 0x7c]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x7c]
push eax
call fcn.004ee6eb
push 0xa
lea ecx, [ebp - 0x80]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x80]
push eax
call fcn.004ee6eb
push 0xb
lea ecx, [ebp - 0x84]
call fcn.00419830
push 0x6336dc
lea eax, [ebp - 0x84]
push eax
call fcn.004ee6eb
outsd dx, dword [esi]
sub eax, 768409672
dec eax
add byte [edx + 0x900482d], ah
dec eax
add byte [edx + 0x2e], ch
dec eax
add byte [edi - 0x36ffb7d2], al
dec eax
add bh, dl
dec eax
add dl, ch
sbb byte [eax], cl
dec ebx
sub cl, byte [eax]
cli
sub cl, byte [eax]
in al, 0x27
dec eax
add byte [ecx + 0xd004829], bh
sub cl, byte [eax]
sti
sbb byte [eax], cl
stosd dword es:[edi], eax
sbb ecx, dword [eax]
cmp ebx, dword [0x1eca0048]
dec eax
add byte [ebp + 0x21], cl
dec eax
add byte [edx], cl
and al, 0x48
add byte [edx + 0x26], bh
dec eax
add ch, ah
dec eax
add byte [esi + 0x500482c], bh
sub eax, 0x2a720048
dec eax
add byte [eax + 0x2f], bh
dec eax
add byte [eax], al
add dword [edx], eax
sbb dword [ebx], eax
add al, 5
push es
pop es
sbb dword [ecx], ebx
sbb dword [ecx], ebx
or byte [ecx], cl
or al, byte [edi]
or ecx, dword [ecx + 286265102]
adc dl, byte [ebx]
adc al, 25
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
adc eax, 421075225
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
sbb dword [ecx], ebx
push ss
pop ss
sbb al, ah
push ds
dec eax
add cl, dh
push ds
dec eax
add cl, dh
push ds
dec eax
add cl, dh
push ds
dec eax
add cl, dh
push ds
dec eax
add byte [ebx], cl
and byte [eax], cl
and dword [eax], esp
dec eax
add byte [edi], dh
and byte [eax], cl
dec ebp
and byte [eax], cl
lea esp, [eax]
dec eax
add byte [ebx - 0x42ffb7e0], ah
and byte [eax], cl
shl dword [eax], cl
dec eax
add byte [ebx + 0x21], ah
dec eax
add byte [ecx + 0x48], dh
add byte [ecx + 0x48], dh
add byte [ebp - 0x42ffb7de], bh
and cl, byte [eax]
and byte [eax + ecx*2], ah
add byte [ecx], dh
and al, 0x48
add byte [ecx], dh
and al, 0x48
add byte [ecx], dh
and al, 0x48
add bh, cl
sub dword [eax], ecx
loopne 0x483293
dec eax
add cl, dh
sub dword [eax], ecx
int1
sub dword [eax], ecx
popal
sub cl, byte [eax]
xlatb
dec eax
add byte [edx + 0x2a], dh
dec eax
add byte [edx + ebp + 0x2ae90048], al
dec eax
add ah, cl
int3
push 0xffffffffffffffff
push 0x5d12e5
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x640844]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], 0x647438
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0x647438
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov ebx, dword [ebp + 0xc]
mov byte [ebp - 4], 3
test bl, bl
jne 0x483364
mov esi, dword [ebp + 8]
mov eax, dword [esi]
cmp eax, 0xfffffffe
je 0x483351
cmp eax, 0xffffffff
je 0x483341
test eax, eax
je 0x48333a
lea ecx, [edi + 0x20]
call fcn.0047fc60
add eax, 0x18
lea ecx, [ebp - 0x48]
push eax
call fcn.00484c80
push 1
lea ecx, [edi + 0x20]
call fcn.0047fdb0
jmp 0x483364
push 0
push dword [edi + 0x78]
jmp 0x483356
push dword [edi + 0x74]
lea ecx, [ebp - 0x48]
push dword [edi + 0x78]
call fcn.00485280
jmp 0x48335e
push 0
push dword [edi + 0x3c]
lea ecx, [ebp - 0x48]
call fcn.00485020
mov dword [esi], 1
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 8]
push eax
push dword [edi + 0x30]
lea ecx, [edi + 0x2c]
call fcn.0047f850
dec dword [edi + 0x30]
mov eax, dword [edi + 0x30]
mov esi, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4833a6
mov esi, eax
push 1
push 8
mov ecx, edi
call fcn.00481850
sub esi, 1
jne 0x483393
mov esi, dword [edi + 0x30]
push 1
push 7
mov ecx, edi
call fcn.00481850
push ebx
push 5
mov ecx, edi
call fcn.00481850
mov eax, dword [edi + 0x30]
mov ecx, edi
push ebx
push 7
mov dword [ebp - 0x30], eax
mov dword [edi + 0x30], esi
call fcn.00481850
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x30], eax
test bl, bl
jne 0x483989
lea esi, [edi + 0x20]
lea eax, [ebp + 0xc]
mov dword [ebp - 0x14], esi
push eax
mov ecx, esi
call fcn.0047fba0
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 4
push dword [eax]
lea ecx, [eax + 8]
push ecx
lea ecx, [ebp - 0x10]
call fcn.00484ae0
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 3
cmp eax, 0x647438
je 0x483419
push eax
call fcn.004ed17f
add esp, 4
mov eax, dword [ebp - 0x10]
mov ecx, 0x5e2230
add eax, 8
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x483444
test dl, dl
je 0x483440
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x483444
add eax, 2
add ecx, 2
test dl, dl
jne 0x483424
xor eax, eax
jmp 0x483449
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, esi
setne byte [ebp - 0x24]
call fcn.0047fc90
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov dword [ebp + 0xc], ecx
mov ebx, eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp + 8], edx
test ecx, ecx
je 0x48385d
mov eax, ecx
mov ecx, dword [ebp - 0x40]
mov cl, byte [ecx + edx]
test cl, cl
jne 0x48384a
mov eax, dword [ebp - 0x44]
mov esi, dword [eax + edx*4]
test esi, esi
je 0x483847
cmp ebx, 0x39
ja case.0x48349c.2
movzx eax, byte [ebx + 0x483aa8]
jmp dword [eax*4 + 0x483a68]
mov ecx, esi
call fcn.0047c520
mov edi, eax
test edi, edi
je 0x483844
mov esi, dword [ebp - 0x10]
mov edx, 0x5e2230
add esi, 8
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4834e1
test al, al
je 0x4834dd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4834e1
add ecx, 2
add edx, 2
test al, al
jne 0x4834c1
xor eax, eax
jmp 0x4834e6
sbb eax, eax
or eax, 1
test eax, eax
je 0x483519
mov eax, dword [edi + 0x20]
add eax, 8
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x483510
test cl, cl
je 0x48350c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x483510
add eax, 2
add esi, 2
test cl, cl
jne 0x4834f0
xor eax, eax
jmp 0x483515
sbb eax, eax
or eax, 1
test eax, eax
jne 0x483524
push 0
push edi
lea ecx, [ebp - 0x3c]
call fcn.00485020
mov ecx, edi
call fcn.0047c940
mov edi, eax
test edi, edi
jne 0x4834b4
jmp 0x483844
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
test eax, eax
je 0x483844
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
mov esi, dword [eax + 0x4c]
add eax, 0x2c
cmp esi, eax
je 0x483844
test esi, esi
je 0x483844
mov edx, dword [ebp - 0x10]
mov ecx, 0x5e2230
add edx, 8
mov eax, edx
nop
mov bl, byte [eax]
cmp bl, byte [ecx]
jne 0x483590
test bl, bl
je 0x48358c
mov bl, byte [eax + 1]
cmp bl, byte [ecx + 1]
jne 0x483590
add eax, 2
add ecx, 2
test bl, bl
jne 0x483570
xor eax, eax
jmp 0x483595
sbb eax, eax
or eax, 1
test eax, eax
je 0x4835c9
mov eax, dword [esi + 0x14]
add eax, 8
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4835c0
test cl, cl
je 0x4835bc
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4835c0
add eax, 2
add edx, 2
test cl, cl
jne 0x4835a0
xor eax, eax
jmp 0x4835c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4835d4
push 1
push esi
lea ecx, [ebp - 0x3c]
call fcn.00485020
mov ecx, esi
call fcn.0047c840
mov esi, eax
test esi, esi
jne 0x483562
mov ebx, dword [ebp - 0x2c]
jmp 0x483844
mov eax, dword [esi + 0x10]
test eax, eax
je 0x483847
lea ecx, [ebp - 0x10]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00480b20
jmp 0x483844
mov esi, dword [esi + 0x10]
test esi, esi
je 0x483847
cmp esi, dword [edi + 0x78]
je 0x483844
lea eax, [ebp - 0x10]
push eax
push esi
lea ecx, [ebp - 0x3c]
call fcn.00480b20
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x483611
jmp 0x483844
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
test eax, eax
je 0x483650
cmp esi, dword [edi + 0x78]
je 0x483650
lea eax, [ebp - 0x10]
push eax
push esi
lea ecx, [ebp - 0x3c]
call fcn.00480b20
mov esi, dword [esi + 0x10]
test esi, esi
je 0x483844
nop dword [eax + eax]
cmp esi, dword [edi + 0x78]
je 0x483844
lea eax, [ebp - 0x10]
push eax
push esi
lea ecx, [ebp - 0x3c]
call fcn.00480b20
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x483660
jmp 0x483844
mov ecx, esi
call fcn.0047c940
mov esi, eax
test esi, esi
je 0x483844
lea eax, [ebp - 0x10]
push eax
push esi
lea ecx, [ebp - 0x3c]
call fcn.00480b20
mov ecx, esi
call fcn.0047c940
mov esi, eax
test esi, esi
jne 0x483693
jmp 0x483844
mov esi, dword [esi + 0x24]
test esi, esi
je 0x483847
nop dword [eax]
cmp dword [esi + 0x14], 1
jne 0x4836d3
lea eax, [ebp - 0x10]
push eax
push esi
lea ecx, [ebp - 0x3c]
call fcn.00480b20
mov esi, dword [esi + 0x24]
test esi, esi
jne 0x4836c0
jmp 0x483844
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
test eax, eax
je 0x483844
mov edi, dword [ebp - 0x10]
mov ecx, 0x5e2230
add edi, 8
mov eax, edi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x483720
test dl, dl
je 0x48371c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x483720
add eax, 2
add ecx, 2
test dl, dl
jne 0x483700
xor eax, eax
jmp 0x483725
sbb eax, eax
or eax, 1
lea ecx, [ebp - 0x3c]
test eax, eax
jne 0x483738
push eax
push esi
call fcn.00485200
jmp 0x483844
push edi
push esi
call fcn.00485200
jmp 0x483844
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
test eax, eax
je 0x483844
cmp esi, dword [edi + 0x78]
je 0x483765
lea eax, [ebp - 0x10]
push eax
push esi
lea ecx, [ebp - 0x3c]
call fcn.00480b20
mov edi, dword [ebp - 0x10]
mov ecx, 0x5e2230
add edi, 8
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x483720
test dl, dl
je 0x48371c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x483720
add eax, 2
add ecx, 2
test dl, dl
jne 0x483772
xor eax, eax
jmp 0x483725
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
test eax, eax
je 0x483844
cmp esi, dword [edi + 0x78]
je 0x483844
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
test eax, eax
je 0x483844
lea eax, [ebp - 0x10]
push eax
push esi
lea ecx, [ebp - 0x3c]
call fcn.00480b20
jmp 0x483844
lea eax, [ebp - 0x10]
push eax
push esi
lea ecx, [ebp - 0x3c]
call fcn.00484e20
jmp 0x483844
lea eax, [ebp - 0x10]
push eax
push esi
lea ecx, [ebp - 0x3c]
call fcn.00484f30
jmp 0x483844
mov esi, dword [esi + 0x18]
test esi, esi
je 0x483847
nop dword [eax]
cmp dword [esi + 0x14], 2
jne 0x483801
push 0
push esi
lea ecx, [ebp - 0x3c]
call fcn.00485020
mov esi, dword [esi + 0x28]
test esi, esi
jne 0x4837f0
jmp 0x483844
mov esi, dword [esi + 0x18]
test esi, esi
je 0x483847
cmp dword [esi + 0x14], 4
jne 0x483822
push 0
push esi
lea ecx, [ebp - 0x3c]
call fcn.00485020
mov esi, dword [esi + 0x28]
test esi, esi
jne 0x483811
jmp 0x483844
mov esi, dword [esi + 0x18]
test esi, esi
je 0x483847
push 0
push esi
lea ecx, [ebp - 0x3c]
call fcn.00485020
mov esi, dword [esi + 0x28]
test esi, esi
jne 0x483832
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
inc edx
mov dword [ebp + 8], edx
cmp edx, eax
jae 0x48385a
mov edi, dword [ebp - 0x18]
jmp 0x483470
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], 0
je 0x48397e
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
xor edi, edi
mov byte [ebp - 4], 5
cmp dword [ebp - 0x3c], edi
jbe 0x483943
nop dword [eax + eax]
mov eax, dword [ebp - 0x34]
cmp byte [eax + edi], 0
jne 0x483939
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ebx, eax
test ebx, ebx
je 0x483939
mov esi, dword [ebp - 0x18]
mov ecx, esi
mov eax, dword [ebp - 0x20]
push 0
push 8
mov dword [esi + 0x30], eax
mov al, byte [ebp - 0x24]
mov dword [esi + 0x3c], ebx
mov byte [esi + 0x70], al
call fcn.00481850
mov dword [esi + 0x3c], 0
mov byte [esi + 0x70], 0
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.0047fc60
mov dword [ebp + 0xc], eax
mov ecx, dword [eax + 0x28]
sub ecx, 2
je 0x483900
sub ecx, 1
je 0x483900
mov ecx, eax
call fcn.004855b0
mov byte [ebp + 0xf], al
jmp 0x48391f
push dword [ebp - 0x24]
push ebx
call fcn.00487a10
mov ecx, dword [ebp + 0xc]
add esp, 8
mov esi, eax
call fcn.00485540
cmp eax, esi
mov esi, dword [ebp - 0x14]
sete byte [ebp + 0xf]
push 1
mov ecx, esi
call fcn.0047fdb0
cmp byte [ebp + 0xf], 0
je 0x483939
push 0
push ebx
lea ecx, [ebp - 0x54]
call fcn.00485020
inc edi
cmp edi, dword [ebp - 0x3c]
jb 0x483890
lea eax, [ebp - 0x54]
mov ecx, esi
push eax
call fcn.00480190
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x483989
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x483968
push ecx
call fcn.004ed17f
mov eax, dword [ebp - 0x54]
add esp, 4
test eax, eax
je 0x483989
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x483989
push eax
call fcn.004ed17f
add esp, 4
jmp 0x483989
lea eax, [ebp - 0x3c]
mov ecx, esi
push eax
call fcn.00480190
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 0x30], ecx
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x4839c0
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x4839ac
push ecx
call fcn.004ed17f
mov eax, dword [ebp - 0x3c]
add esp, 4
test eax, eax
je 0x4839c0
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x4839c0
push eax
call fcn.004ed17f
add esp, 4
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
test eax, eax
je 0x483a03
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x4839ef
push ecx
call fcn.004ed17f
mov eax, dword [ebp - 0x48]
add esp, 4
test eax, eax
je 0x483a03
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x483a03
push eax
call fcn.004ed17f
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
cmp eax, 0x647438
je 0x483a2b
push eax
call fcn.004ed17f
add esp, 4
mov eax, dword [ebp - 0x28]
cmp eax, 0x647438
je 0x483a3e
push eax
call fcn.004ed17f
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [ebp + 0xc]
call fcn.004803d0
push 0x633e1c
lea eax, [ebp + 0xc]
push eax
call fcn.004ee6eb
mov dword [0x36004834], eax
xor eax, 906362952
dec eax
add byte [ebx], dh
dec eax
add bh, bl
dec eax
add byte [edi + esi + 0x48], al
add al, cl
aaa
dec eax
add byte [edx - 0x16ffb7ca], al
xor eax, 0x37d70048
dec eax
add byte [edx - 0x6dffb7ca], dh
aaa
dec eax
add dh, ah
aaa
dec eax
add byte [ebx], ch
cmp byte [eax], cl
or bh, byte [eax]
dec eax
add byte [edx + 0x3a], dl
dec eax
add byte [eax], al
add dword [edi], ecx
invalid