Function at 0x1018a410
Capabilities:
Authenticate hmac
Encode data using base64
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101d42dc
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x5c8
mov eax, dword [0x10216080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x280]
mov byte [ebp - 0x234], 0
mov edx, 0x104aa1a0
push dword [ebp - 0x234]
mov dword [ebp - 0x16c], eax
call fcn.1016b430
add esp, 4
mov dword [ebp - 4], 0
lea edx, [ebp - 0x16c]
mov byte [ebp - 0x234], 0
lea ecx, [ebp - 0x268]
push dword [ebp - 0x234]
call fcn.1016b490
add esp, 4
lea eax, [ebp - 0x268]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x280]
call fcn.1014b4a0
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.1010f990
push esi
lea ecx, [ebp - 0x158]
call fcn.1010e090
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 3
call fcn.1010f990
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x158]
call fcn.10188630
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.10178470
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 3
call fcn.1010f990
push 0xc0
lea eax, [ebp - 0x230]
push 0
push eax
call fcn.101ab150
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x230]
call fcn.10165bd0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x230]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x224], 6
je 0x1018a5bd
cmp dword [ebp - 0x144], 7
lea eax, [ebp - 0x158]
push ecx
cmova eax, dword [ebp - 0x158]
lea ecx, [ebp - 0x218]
push 2
push eax
call fcn.1016a6b0
test eax, eax
lea ecx, [ebp - 0x230]
mov eax, dword [ebp - 0x230]
je 0x1018a59b
add ecx, dword [eax + 4]
xor edx, edx
mov eax, 4
push edx
cmp dword [ecx + 0x38], edx
cmovne eax, edx
push eax
call fcn.1013bcc0
jmp 0x1018c84c
add ecx, dword [eax + 4]
xor eax, eax
push 0
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.1013bcc0
jmp 0x1018c84c
push 2
sub esp, 8
lea ecx, [ebp - 0x230]
call fcn.10160930
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x230]
call fcn.10160800
mov edx, dword [eax + 8]
add edx, dword [eax]
mov ecx, dword [eax + 0xc]
adc ecx, dword [eax + 4]
or edx, ecx
je 0x1018c84c
push 0
sub esp, 8
lea ecx, [ebp - 0x230]
call fcn.10160930
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x138]
push 0
mov byte [ebp - 0x140], 0
call fcn.10163d00
lea edx, [ebp - 0x140]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x230]
call fcn.10160300
lea ecx, [ebp - 0x218]
call fcn.101628b0
test eax, eax
jne 0x1018a667
mov eax, dword [ebp - 0x230]
lea ecx, [ebp - 0x230]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.1013bcc0
lea eax, [ebp - 0x70]
xorps xmm0, xmm0
push eax
lea ecx, [ebp - 0x140]
movups xmmword [ebp - 0x70], xmm0
call fcn.1016abc0
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x140]
movups xmmword [ebp - 0x168], xmm0
call fcn.1016ab10
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x70]
call fcn.1016c960
test al, al
je 0x1018c837
nop dword [eax]
mov esi, dword [ebp - 0x70]
movzx eax, byte [esi]
cmp eax, 9
ja case.0x1018a6c2.3
movzx eax, byte [eax + 0x1018cea4]
jmp dword [eax*4 + 0x1018ce94]
mov esi, dword [ebp - 0x6c]
add esi, 0x28
jmp 0x1018a6e0
mov esi, dword [ebp - 0x68]
jmp 0x1018a6e0
cmp dword [ebp - 0x64], 0
jne 0x1018cca0
push str.name_hash
mov ecx, esi
call fcn.1018d590
mov ecx, eax
call fcn.1018d7d0
movzx ecx, al
xor ecx, 0x811c9dc5
mov dword [ebp - 0x234], eax
imul edx, ecx, 0x1000193
mov ecx, eax
shr ecx, 8
movzx ecx, cl
mov dword [ebp - 0x16c], eax
shr eax, 0x10
xor edx, ecx
movzx eax, al
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x234]
shr ecx, 0x18
xor eax, ecx
mov ecx, 0x104aa1c4
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x300]
push eax
call fcn.10114f20
mov edi, dword [0x104aa1c8]
mov eax, dword [eax + 4]
test eax, eax
cmovne edi, eax
cmp edi, dword [0x104aa1c8]
je 0x1018c818
push str.type_hash
mov ecx, esi
call fcn.1018d590
mov ecx, eax
call fcn.1018d7d0
cmp eax, 0xc56c09bd
ja 0x1018c3ae
je 0x1018c238
cmp eax, 0x36612d3b
ja 0x1018c160
je 0x1018ba0a
cmp eax, 0x7ec4464
je 0x1018ae3f
cmp eax, 0xda8ab73
jne 0x1018c818
push str.value
mov ecx, esi
call fcn.1018d590
lea ecx, [ebp - 0x280]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x4a
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0xa0]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x4c
mov ecx, dword [ebp - 0x26c]
cmp ecx, 0xf
jbe 0x1018a837
mov edx, dword [ebp - 0x280]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018a82d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
lea eax, [edi + 0x18]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
mov dword [ebp - 0x250], eax
test eax, eax
je 0x1018a884
mov eax, dword [eax + 0x24]
and eax, 0xfffffffc
je 0x1018a884
add eax, 4
push 0x1021bdcc
push eax
call fcn.101aa865
add esp, 8
test eax, eax
jne 0x1018a884
mov edx, dword [ebp - 0x250]
jmp 0x1018a88c
xor edx, edx
mov dword [ebp - 0x250], edx
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x244], 0
call fcn.1016b220
test eax, eax
je 0x1018ae2a
xor esi, esi
mov dword [ebp - 0x16c], esi
mov ecx, dword [edx + 4]
mov eax, 0x4ec4ec4f
mov edi, dword [edx]
sub ecx, edi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x244], eax
jae 0x1018ae2a
cmp byte [ebp - 0xa0], 2
jne 0x1018c8ae
mov eax, dword [ebp - 0x98]
lea ecx, [ebp - 0x3c]
push ecx
xorps xmm0, xmm0
movups xmmword [ebp - 0x3c], xmm0
mov eax, dword [eax]
add eax, dword [ebp - 0x16c]
mov ecx, eax
mov dword [ebp - 0x238], eax
call fcn.1016ab10
mov ecx, dword [ebp - 0x238]
lea eax, [ebp - 0x24]
push str.enable
push eax
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018a947
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
test eax, eax
setne al
mov byte [edi + esi], al
mov ecx, dword [ebp - 0x238]
lea eax, [ebp - 0x24]
push str.b_enable
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018a98a
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
test eax, eax
setne al
mov byte [edi + esi + 1], al
mov ecx, dword [ebp - 0x238]
lea eax, [ebp - 0x24]
push str.k_enable
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018a9c8
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov dword [edi + esi + 4], eax
mov ecx, dword [ebp - 0x238]
lea eax, [ebp - 0x24]
push str.bm_enable
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018aa06
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov dword [edi + esi + 8], eax
mov ecx, dword [ebp - 0x238]
lea eax, [ebp - 0x24]
push str.options
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018ab65
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
lea ecx, [ebp - 0x268]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x4e
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0x80]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x50
mov ecx, dword [ebp - 0x254]
cmp ecx, 0xf
jbe 0x1018aaaa
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018aaa0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
xor edx, edx
mov dword [ebp - 0x258], 0
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
mov dword [ebp - 0x248], edx
call fcn.1016b220
test eax, eax
je 0x1018ab52
mov dword [ebp - 0x240], edx
nop
cmp edx, dword [edi + esi + 0x1c]
jae 0x1018ab52
cmp byte [ebp - 0x80], 2
jne 0x1018cd24
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x240]
call fcn.10166310
mov edx, dword [ebp - 0x248]
test eax, eax
mov ecx, dword [edi + esi + 0x14]
setne byte [ebp - 0x23a]
add edx, dword [edi + esi + 0x18]
add dword [ebp - 0x240], 0x10
mov eax, edx
dec ecx
shr eax, 4
and ecx, eax
and edx, 0xf
mov eax, dword [edi + esi + 0x10]
mov eax, dword [eax + ecx*4]
mov cl, byte [ebp - 0x23a]
mov byte [eax + edx], cl
lea ecx, [ebp - 0x80]
mov edx, dword [ebp - 0x248]
inc edx
mov dword [ebp - 0x248], edx
call fcn.1016b220
cmp edx, eax
jb 0x1018aae0
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x78]
push dword [ebp - 0x80]
call fcn.10162990
mov byte [ebp - 4], 0x4c
mov ecx, dword [ebp - 0x238]
lea eax, [ebp - 0x24]
push str.colors
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018adfa
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
lea ecx, [ebp - 0x268]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x53
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0x90]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x55
mov ecx, dword [ebp - 0x254]
cmp ecx, 0xf
jbe 0x1018ac0c
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018ac02
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
xor edx, edx
mov dword [ebp - 0x258], 0
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
mov dword [ebp - 0x240], edx
call fcn.1016b220
test eax, eax
je 0x1018ade1
mov dword [ebp - 0x248], edx
nop dword [eax + eax]
cmp edx, dword [edi + esi + 0x30]
jae 0x1018ade1
cmp byte [ebp - 0x90], 2
jne 0x1018c882
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
lea eax, [ebp - 0x2c]
add ecx, dword [ebp - 0x248]
push eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x57
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0x50]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x59
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x1018acd7
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018accd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
cmp byte [ebp - 0x50], 2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
jne 0x1018ce48
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
call fcn.1018dcd0
cmp byte [ebp - 0x50], 2
mov byte [ebp - 0x23a], al
jne 0x1018cdff
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx]
add ecx, 0x10
call fcn.1018dcd0
cmp byte [ebp - 0x50], 2
mov byte [ebp - 0x249], al
jne 0x1018cdb6
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx]
add ecx, 0x20
call fcn.1018dcd0
cmp byte [ebp - 0x50], 2
mov byte [ebp - 0x239], al
jne 0x1018cd6d
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx]
add ecx, 0x30
call fcn.1018dcd0
mov cl, byte [ebp - 0x23a]
mov edx, dword [ebp - 0x240]
add edx, dword [edi + esi + 0x2c]
mov byte [ebp - 0x284], cl
mov cl, byte [ebp - 0x249]
mov byte [ebp - 0x283], cl
mov cl, byte [ebp - 0x239]
mov byte [ebp - 0x282], cl
mov ecx, dword [edi + esi + 0x28]
mov byte [ebp - 0x281], al
dec ecx
mov eax, edx
and edx, 3
shr eax, 2
and ecx, eax
mov eax, dword [edi + esi + 0x24]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x284]
mov dword [ecx + edx*4], eax
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x48]
push dword [ebp - 0x50]
call fcn.10162990
mov edx, dword [ebp - 0x240]
lea ecx, [ebp - 0x90]
add dword [ebp - 0x248], 0x10
inc edx
mov byte [ebp - 4], 0x55
mov dword [ebp - 0x240], edx
call fcn.1016b220
cmp edx, eax
jb 0x1018ac50
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x88]
push dword [ebp - 0x90]
call fcn.10162990
mov byte [ebp - 4], 0x4c
mov edx, dword [ebp - 0x244]
lea ecx, [ebp - 0xa0]
add dword [ebp - 0x16c], 0x10
inc edx
mov dword [ebp - 0x244], edx
add esi, 0x34
call fcn.1016b220
cmp edx, eax
mov edx, dword [ebp - 0x250]
jb 0x1018a8b1
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x98]
push dword [ebp - 0xa0]
jmp 0x1018c80f
push str.value
mov ecx, esi
call fcn.1018d590
lea ecx, [ebp - 0x268]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x2a
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0xf0]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x254]
cmp ecx, 0xf
jbe 0x1018aebb
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018aeb1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
lea esi, [edi + 0x18]
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
mov dword [ebp - 0x250], esi
test esi, esi
je 0x1018af00
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x1018af00
add eax, 4
push 0x1021bbdc
push eax
call fcn.101aa865
add esp, 8
test eax, eax
je 0x1018af08
xor esi, esi
mov dword [ebp - 0x250], esi
xor edi, edi
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x234], edi
call fcn.1016b220
test eax, eax
je 0x1018b9f5
mov ecx, dword [esi + 4]
mov eax, 0x4ec4ec4f
sub ecx, dword [esi]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x1018b9f5
cmp byte [ebp - 0xf0], 2
jne 0x1018ca06
mov eax, dword [ebp - 0xe8]
mov esi, edi
shl esi, 4
xorps xmm0, xmm0
imul edi, edi, 0x68
movups xmmword [ebp - 0x3c], xmm0
add esi, dword [eax]
mov eax, dword [ebp - 0x250]
mov ecx, esi
mov dword [ebp - 0x238], esi
add edi, dword [eax]
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x244], edi
call fcn.1016ab10
push str.use_def_cfg
lea eax, [ebp - 0x24]
mov ecx, esi
push eax
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018afbe
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
test eax, eax
setne al
mov byte [edi], al
push str.hgroups
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, esi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b15b
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
lea ecx, [ebp - 0x280]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x2e
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0xb0]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x26c]
cmp ecx, 0xf
jbe 0x1018b061
mov edx, dword [ebp - 0x280]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018b057
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
xor esi, esi
mov byte [ebp - 0x280], 0
call fcn.1016b220
test eax, eax
je 0x1018b13c
xor edx, edx
mov dword [ebp - 0x248], edx
nop dword [eax]
cmp esi, dword [edi + 0x10]
jae 0x1018b13c
cmp byte [ebp - 0xb0], 2
jne 0x1018c8da
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
add ecx, edx
call fcn.10166310
mov ecx, esi
mov edx, 1
shr ecx, 5
mov dword [ebp - 0x16c], ecx
mov ecx, dword [edi + 4]
mov dword [ebp - 0x240], ecx
mov ecx, esi
mov edi, dword [ebp - 0x240]
and ecx, 0x1f
shl edx, cl
mov ecx, dword [ebp - 0x16c]
mov ecx, dword [edi + ecx*4]
test eax, eax
je 0x1018b0fc
or ecx, edx
jmp 0x1018b104
not edx
mov eax, ecx
mov ecx, edx
and ecx, eax
mov eax, dword [ebp - 0x16c]
inc esi
mov edx, dword [ebp - 0x240]
mov dword [edx + eax*4], ecx
lea ecx, [ebp - 0xb0]
mov edx, dword [ebp - 0x248]
add edx, 0x10
mov dword [ebp - 0x248], edx
call fcn.1016b220
mov edi, dword [ebp - 0x244]
cmp esi, eax
jb 0x1018b0a0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0xa8]
push dword [ebp - 0xb0]
call fcn.10162990
mov esi, dword [ebp - 0x238]
mov byte [ebp - 4], 0x2c
push str.prefer_safe_hgroups
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, esi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b2f1
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
lea ecx, [ebp - 0x280]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x33
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0xc0]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x26c]
cmp ecx, 0xf
jbe 0x1018b1fe
mov edx, dword [ebp - 0x280]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018b1f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
xor esi, esi
mov byte [ebp - 0x280], 0
call fcn.1016b220
test eax, eax
je 0x1018b2d2
xor edx, edx
mov dword [ebp - 0x248], edx
cmp esi, dword [edi + 0x20]
jae 0x1018b2d2
cmp byte [ebp - 0xc0], 2
jne 0x1018c925
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
add ecx, edx
call fcn.10166310
mov ecx, esi
mov edx, 1
shr ecx, 5
mov dword [ebp - 0x16c], ecx
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x240], ecx
mov ecx, esi
mov edi, dword [ebp - 0x240]
and ecx, 0x1f
shl edx, cl
mov ecx, dword [ebp - 0x16c]
mov ecx, dword [edi + ecx*4]
test eax, eax
je 0x1018b292
or ecx, edx
jmp 0x1018b29a
not edx
mov eax, ecx
mov ecx, edx
and ecx, eax
mov eax, dword [ebp - 0x16c]
inc esi
mov edx, dword [ebp - 0x240]
mov dword [edx + eax*4], ecx
lea ecx, [ebp - 0xc0]
mov edx, dword [ebp - 0x248]
add edx, 0x10
mov dword [ebp - 0x248], edx
call fcn.1016b220
mov edi, dword [ebp - 0x244]
cmp esi, eax
jb 0x1018b236
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0xb8]
push dword [ebp - 0xc0]
call fcn.10162990
mov esi, dword [ebp - 0x238]
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, esi
movups xmmword [ebp - 0x24], xmm0
call fcn.1016ab10
cmp byte [esi], 1
jne 0x1018b39e
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x16c], eax
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
jne 0x1018b364
cmp dword [esi + 0x24], 0xf
lea ecx, [esi + 0x10]
mov edx, dword [ecx + 0x10]
jbe 0x1018b334
mov ecx, dword [ecx]
push 0x12
push str.force_safe_hgroups
call fcn.1016e080
add esp, 8
test eax, eax
je 0x1018b354
jns 0x1018b354
mov esi, dword [esi + 8]
mov eax, dword [ebp - 0x16c]
jmp 0x1018b35e
mov eax, esi
mov esi, dword [esi]
mov dword [ebp - 0x16c], eax
cmp byte [esi + 0xd], 0
je 0x1018b326
cmp byte [eax + 0xd], 0
jne 0x1018b395
cmp dword [eax + 0x24], 0xf
lea ecx, [eax + 0x10]
mov edx, dword [ecx + 0x10]
jbe 0x1018b378
mov ecx, dword [ecx]
push 0x12
push str.force_safe_hgroups
call fcn.1016e080
add esp, 8
test eax, eax
je 0x1018b38d
jns 0x1018b395
mov eax, dword [ebp - 0x16c]
jmp 0x1018b39b
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b517
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
lea ecx, [ebp - 0x280]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x38
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0xd0]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x26c]
cmp ecx, 0xf
jbe 0x1018b42a
mov edx, dword [ebp - 0x280]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018b420
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
xor esi, esi
mov byte [ebp - 0x280], 0
call fcn.1016b220
test eax, eax
je 0x1018b4fe
xor edx, edx
mov dword [ebp - 0x248], edx
cmp esi, dword [edi + 0x30]
jae 0x1018b4fe
cmp byte [ebp - 0xd0], 2
jne 0x1018c970
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
add ecx, edx
call fcn.10166310
mov ecx, esi
mov edx, 1
shr ecx, 5
mov dword [ebp - 0x16c], ecx
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0x240], ecx
mov ecx, esi
mov edi, dword [ebp - 0x240]
and ecx, 0x1f
shl edx, cl
mov ecx, dword [ebp - 0x16c]
mov edi, dword [edi + ecx*4]
mov dword [ebp - 0x16c], edi
test eax, eax
je 0x1018b4c4
or edx, edi
jmp 0x1018b4cc
not edx
and edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x240]
inc esi
mov dword [eax + ecx*4], edx
lea ecx, [ebp - 0xd0]
mov edx, dword [ebp - 0x248]
add edx, 0x10
mov dword [ebp - 0x248], edx
call fcn.1016b220
mov edi, dword [ebp - 0x244]
cmp esi, eax
jb 0x1018b462
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0xc8]
push dword [ebp - 0xd0]
call fcn.10162990
mov byte [ebp - 4], 0x2c
mov esi, dword [ebp - 0x238]
lea eax, [ebp - 0x24]
push str.head_pointscale
xorps xmm0, xmm0
mov ecx, esi
push eax
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b558
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.101664d0
movss dword [edi + 0x34], xmm0
push str.body_pointscale
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, esi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b593
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.101664d0
movss dword [edi + 0x38], xmm0
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, esi
movups xmmword [ebp - 0x24], xmm0
call fcn.1016ab10
cmp byte [esi], 1
jne 0x1018b64e
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x16c], eax
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
jne 0x1018b60e
nop dword [eax + eax]
cmp dword [esi + 0x24], 0xf
lea ecx, [esi + 0x10]
mov edx, dword [ecx + 0x10]
jbe 0x1018b5de
mov ecx, dword [ecx]
push 2
push 0x10208a98
call fcn.1016e080
add esp, 8
test eax, eax
je 0x1018b5fe
jns 0x1018b5fe
mov esi, dword [esi + 8]
mov eax, dword [ebp - 0x16c]
jmp 0x1018b608
mov eax, esi
mov esi, dword [esi]
mov dword [ebp - 0x16c], eax
cmp byte [esi + 0xd], 0
je 0x1018b5d0
cmp byte [eax + 0xd], 0
jne 0x1018b63f
cmp dword [eax + 0x24], 0xf
lea ecx, [eax + 0x10]
mov edx, dword [ecx + 0x10]
jbe 0x1018b622
mov ecx, dword [ecx]
push 2
push 0x10208a98
call fcn.1016e080
add esp, 8
test eax, eax
je 0x1018b637
jns 0x1018b63f
mov eax, dword [ebp - 0x16c]
jmp 0x1018b645
mov eax, dword [ebp - 0x244]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b670
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov dword [edi + 0x3c], eax
push str.as_hc
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, esi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b6a9
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov dword [edi + 0x40], eax
push str.vis_mdmg
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, esi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b6e2
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov dword [edi + 0x44], eax
push str.awall_mdmg
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, esi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b71b
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov dword [edi + 0x48], eax
push str.wait_for_enemy_shot
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, esi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b759
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
test eax, eax
setne al
mov byte [edi + 0x4c], al
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, esi
movups xmmword [ebp - 0x24], xmm0
call fcn.1016ab10
cmp byte [esi], 1
jne 0x1018b80e
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x16c], eax
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
jne 0x1018b7ce
nop
cmp dword [esi + 0x24], 0xf
lea ecx, [esi + 0x10]
mov edx, dword [ecx + 0x10]
jbe 0x1018b79e
mov ecx, dword [ecx]
push 0x1c
push str.ticks_to_wait_for_enemy_shot
call fcn.1016e080
add esp, 8
test eax, eax
je 0x1018b7be
jns 0x1018b7be
mov esi, dword [esi + 8]
mov eax, dword [ebp - 0x16c]
jmp 0x1018b7c8
mov eax, esi
mov esi, dword [esi]
mov dword [ebp - 0x16c], eax
cmp byte [esi + 0xd], 0
je 0x1018b790
cmp byte [eax + 0xd], 0
jne 0x1018b7ff
cmp dword [eax + 0x24], 0xf
lea ecx, [eax + 0x10]
mov edx, dword [ecx + 0x10]
jbe 0x1018b7e2
mov ecx, dword [ecx]
push 0x1c
push str.ticks_to_wait_for_enemy_shot
call fcn.1016e080
add esp, 8
test eax, eax
je 0x1018b7f7
jns 0x1018b7ff
mov eax, dword [ebp - 0x16c]
jmp 0x1018b805
mov eax, dword [ebp - 0x244]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b830
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov dword [edi + 0x50], eax
push str.astop
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, esi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b86e
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
test eax, eax
setne al
mov byte [edi + 0x54], al
push str.astop_options
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, esi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018b9cf
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
lea ecx, [ebp - 0x280]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x3d
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0xe0]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x26c]
cmp ecx, 0xf
jbe 0x1018b911
mov edx, dword [ebp - 0x280]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018b907
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
xor esi, esi
mov byte [ebp - 0x280], 0
call fcn.1016b220
test eax, eax
je 0x1018b9b6
xor edx, edx
mov dword [ebp - 0x16c], edx
cmp esi, dword [edi + 0x64]
jae 0x1018b9b6
cmp byte [ebp - 0xe0], 2
jne 0x1018c9bb
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
add ecx, edx
call fcn.10166310
mov ecx, dword [edi + 0x58]
mov edx, esi
shr edx, 5
lea ecx, [ecx + edx*4]
mov edx, 1
mov dword [ebp - 0x244], ecx
mov ecx, esi
and ecx, 0x1f
shl edx, cl
mov ecx, dword [ebp - 0x244]
test eax, eax
je 0x1018b991
or edx, dword [ecx]
jmp 0x1018b995
not edx
and edx, dword [ecx]
mov dword [ecx], edx
inc esi
mov edx, dword [ebp - 0x16c]
lea ecx, [ebp - 0xe0]
add edx, 0x10
mov dword [ebp - 0x16c], edx
call fcn.1016b220
cmp esi, eax
jb 0x1018b945
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0xd8]
push dword [ebp - 0xe0]
call fcn.10162990
mov byte [ebp - 4], 0x2c
mov edi, dword [ebp - 0x234]
lea ecx, [ebp - 0xf0]
inc edi
mov dword [ebp - 0x234], edi
call fcn.1016b220
mov esi, dword [ebp - 0x250]
cmp edi, eax
jb 0x1018af23
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0xe8]
push dword [ebp - 0xf0]
jmp 0x1018c80f
push str.value
mov ecx, esi
call fcn.1018d590
lea ecx, [ebp - 0x268]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x44
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0x100]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0x254]
cmp ecx, 0xf
jbe 0x1018ba86
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018ba7c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
lea eax, [edi + 0x18]
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
mov dword [ebp - 0x250], eax
test eax, eax
je 0x1018bad3
mov eax, dword [eax + 0x24]
and eax, 0xfffffffc
je 0x1018bad3
add eax, 4
push 0x1021bce4
push eax
call fcn.101aa865
add esp, 8
test eax, eax
jne 0x1018bad3
mov edx, dword [ebp - 0x250]
jmp 0x1018badb
xor edx, edx
mov dword [ebp - 0x250], edx
xor edi, edi
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x240], edi
call fcn.1016b220
test eax, eax
je 0x1018c14b
mov esi, dword [edx]
mov eax, 0x38e38e39
mov ecx, dword [edx + 4]
sub ecx, esi
mov dword [ebp - 0x244], esi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x1018c14b
cmp byte [ebp - 0x100], 2
jne 0x1018ca2f
mov eax, dword [ebp - 0xf8]
xorps xmm0, xmm0
shl edi, 4
movups xmmword [ebp - 0x3c], xmm0
add edi, dword [eax]
mov eax, dword [ebp - 0x240]
mov ecx, edi
lea eax, [eax + eax*8]
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.1016ab10
push str.yaw_offset
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018bb91
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8], eax
push str.yaw_mode
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018bbd1
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 4], eax
push str.centered
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018bc16
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
test eax, eax
setne al
mov byte [esi + ecx*8 + 8], al
push str.angle
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018bc56
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 0xc], eax
push str.speed
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018bc96
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 0x10], eax
push str.desync
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018bcdb
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
test eax, eax
setne al
mov byte [esi + ecx*8 + 0x14], al
push str.real_mode
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018bd1b
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 0x18], eax
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1016ab10
cmp byte [edi], 1
jne 0x1018bdce
mov eax, dword [edi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x16c], eax
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
jne 0x1018bd8e
cmp dword [esi + 0x24], 0xf
lea ecx, [esi + 0x10]
mov edx, dword [ecx + 0x10]
jbe 0x1018bd5e
mov ecx, dword [ecx]
push 0xe
push str.real_mode_wide
call fcn.1016e080
add esp, 8
test eax, eax
je 0x1018bd7e
jns 0x1018bd7e
mov esi, dword [esi + 8]
mov eax, dword [ebp - 0x16c]
jmp 0x1018bd88
mov eax, esi
mov esi, dword [esi]
mov dword [ebp - 0x16c], eax
cmp byte [esi + 0xd], 0
je 0x1018bd50
cmp byte [eax + 0xd], 0
jne 0x1018bdbf
cmp dword [eax + 0x24], 0xf
lea ecx, [eax + 0x10]
mov edx, dword [ecx + 0x10]
jbe 0x1018bda2
mov ecx, dword [ecx]
push 0xe
push str.real_mode_wide
call fcn.1016e080
add esp, 8
test eax, eax
je 0x1018bdb7
jns 0x1018bdbf
mov eax, dword [ebp - 0x16c]
jmp 0x1018bdc5
mov eax, dword [ebp - 0x234]
mov esi, dword [ebp - 0x244]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018bdf7
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 0x1c], eax
push str.real_offset
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018be37
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 0x20], eax
push str.real_centered
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018be7c
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
test eax, eax
setne al
mov byte [esi + ecx*8 + 0x24], al
push str.real_angle
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018bebc
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 0x28], eax
push str.real_speed
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018befc
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 0x2c], eax
push str.fake_mode
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018bf3c
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 0x30], eax
push str.fake_offset
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018bf7c
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 0x34], eax
push str.fake_sway_speed
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018bfbc
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 0x38], eax
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1016ab10
cmp byte [edi], 1
jne 0x1018c069
mov eax, dword [edi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x16c], eax
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
jne 0x1018c02f
cmp dword [esi + 0x24], 0xf
lea ecx, [esi + 0x10]
mov edx, dword [ecx + 0x10]
jbe 0x1018bfff
mov ecx, dword [ecx]
push 4
push str.roll
call fcn.1016e080
add esp, 8
test eax, eax
je 0x1018c01f
jns 0x1018c01f
mov esi, dword [esi + 8]
mov eax, dword [ebp - 0x16c]
jmp 0x1018c029
mov eax, esi
mov esi, dword [esi]
mov dword [ebp - 0x16c], eax
cmp byte [esi + 0xd], 0
je 0x1018bff1
cmp byte [eax + 0xd], 0
jne 0x1018c060
cmp dword [eax + 0x24], 0xf
lea ecx, [eax + 0x10]
mov edx, dword [ecx + 0x10]
jbe 0x1018c043
mov ecx, dword [ecx]
push 4
push str.roll
call fcn.1016e080
add esp, 8
test eax, eax
je 0x1018c058
jns 0x1018c060
mov eax, dword [ebp - 0x16c]
jmp 0x1018c066
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018c09f
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov esi, dword [ebp - 0x244]
test eax, eax
mov ecx, dword [ebp - 0x238]
setne al
mov byte [esi + ecx*8 + 0x3c], al
jmp 0x1018c0a5
mov esi, dword [ebp - 0x244]
push str.roll_mode
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018c0e5
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 0x40], eax
push str.roll_amt
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
mov ecx, edi
movups xmmword [ebp - 0x24], xmm0
call fcn.1018de10
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1016c960
test al, al
je 0x1018c125
lea ecx, [ebp - 0x24]
call fcn.1018ceb0
mov ecx, eax
call fcn.10166310
mov ecx, dword [ebp - 0x238]
mov dword [esi + ecx*8 + 0x44], eax
mov edi, dword [ebp - 0x240]
lea ecx, [ebp - 0x100]
inc edi
mov dword [ebp - 0x240], edi
call fcn.1016b220
mov edx, dword [ebp - 0x250]
cmp edi, eax
jb 0x1018baf6
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0xf8]
push dword [ebp - 0x100]
jmp 0x1018c80f
cmp eax, 0x95e97e5e
je 0x1018c1d8
cmp eax, 0xa6c45d85
jne 0x1018c818
push str.value
mov ecx, esi
call fcn.1018d590
mov ecx, eax
call fcn.101664d0
movss dword [ebp - 0x234], xmm0
add edi, 0x18
mov byte [ebp - 4], 0xd
mov eax, dword [edi + 0x24]
and eax, 3
sub eax, 1
je 0x1018c1a7
sub eax, 1
jne 0x1018c1c4
push edi
jmp 0x1018c1aa
push dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d8258]
call esi
movss xmm0, dword [ebp - 0x234]
add esp, 4
mov byte [ebp - 4], 7
movss dword [edi], xmm0
mov dword [edi + 0x24], 0x1021bd34
jmp 0x1018c818
push str.value
mov ecx, esi
call fcn.1018d590
mov ecx, eax
call fcn.10166310
mov dword [ebp - 0x234], eax
add edi, 0x18
mov byte [ebp - 4], 0xc
mov ecx, dword [edi + 0x24]
and ecx, 3
sub ecx, 1
je 0x1018c20b
sub ecx, 1
jne 0x1018c220
push edi
jmp 0x1018c20e
push dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d8258]
call esi
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x234]
mov dword [edi], eax
mov dword [edi + 0x24], 0x1021bc38
jmp 0x1018c818
push str.value
mov ecx, esi
call fcn.1018d590
lea ecx, [ebp - 0x268]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0xe
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0x60]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x254]
cmp ecx, 0xf
jbe 0x1018c2b1
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018c2a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
cmp byte [ebp - 0x60], 2
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
jne 0x1018cb30
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
call fcn.1018dcd0
cmp byte [ebp - 0x60], 2
mov byte [ebp - 0x239], al
jne 0x1018cae8
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx]
add ecx, 0x10
call fcn.1018dcd0
cmp byte [ebp - 0x60], 2
mov byte [ebp - 0x249], al
jne 0x1018caa0
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx]
add ecx, 0x20
call fcn.1018dcd0
cmp byte [ebp - 0x60], 2
mov byte [ebp - 0x23a], al
jne 0x1018ca58
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx]
add ecx, 0x30
call fcn.1018dcd0
mov cl, byte [ebp - 0x239]
add edi, 0x18
mov byte [ebp - 0x288], cl
mov cl, byte [ebp - 0x249]
mov byte [ebp - 0x287], cl
mov cl, byte [ebp - 0x23a]
mov byte [ebp - 0x286], cl
mov byte [ebp - 0x285], al
mov byte [ebp - 4], 0x15
mov eax, dword [edi + 0x24]
and eax, 3
sub eax, 1
je 0x1018c37b
sub eax, 1
jne 0x1018c390
push edi
jmp 0x1018c37e
push dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d8258]
call esi
add esp, 4
mov eax, dword [ebp - 0x288]
mov dword [edi], eax
mov dword [edi + 0x24], 0x1021bd40
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x58]
push dword [ebp - 0x60]
jmp 0x1018c80f
cmp eax, 0xedfd00fb
ja 0x1018c6d4
je 0x1018c59b
cmp eax, 0xc761f98b
je 0x1018c436
cmp eax, 0xc894953d
jne 0x1018c818
push str.value
mov ecx, esi
call fcn.1018d590
cmp byte [eax], 4
jne 0x1018cb78
mov al, byte [eax + 8]
add edi, 0x18
mov byte [ebp - 0x239], al
mov byte [ebp - 4], 0xb
mov eax, dword [edi + 0x24]
and eax, 3
sub eax, 1
je 0x1018c409
sub eax, 1
jne 0x1018c41e
push edi
jmp 0x1018c40c
push dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d8258]
call esi
add esp, 4
mov al, byte [ebp - 0x239]
mov byte [ebp - 4], 7
mov byte [edi], al
mov dword [edi + 0x24], 0x1021bc78
jmp 0x1018c818
push str.value
mov ecx, esi
call fcn.1018d590
lea ecx, [ebp - 0x268]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x18
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0x110]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x254]
cmp ecx, 0xf
jbe 0x1018c4b2
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018c4a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
add edi, 0x18
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
mov dword [ebp - 0x16c], edi
je 0x1018c4f5
mov eax, dword [edi + 0x24]
and eax, 0xfffffffc
je 0x1018c4f5
add eax, 4
push 0x1021bc48
push eax
call fcn.101aa865
add esp, 8
test eax, eax
je 0x1018c4fd
xor edi, edi
mov dword [ebp - 0x16c], edi
lea ecx, [ebp - 0x110]
xor esi, esi
call fcn.1016b220
test eax, eax
je 0x1018c586
xor edx, edx
mov dword [ebp - 0x234], edx
cmp esi, dword [edi + 0xc]
jae 0x1018c586
cmp byte [ebp - 0x110], 2
jne 0x1018cbbf
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax]
add ecx, edx
call fcn.10166310
mov ecx, dword [edi]
mov edx, esi
shr edx, 5
lea edi, [ecx + edx*4]
mov ecx, esi
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov ecx, dword [edi]
test eax, eax
je 0x1018c557
or ecx, edx
jmp 0x1018c55f
not edx
mov eax, ecx
mov ecx, edx
and ecx, eax
mov dword [edi], ecx
inc esi
mov edx, dword [ebp - 0x234]
lea ecx, [ebp - 0x110]
add edx, 0x10
mov dword [ebp - 0x234], edx
call fcn.1016b220
mov edi, dword [ebp - 0x16c]
cmp esi, eax
jb 0x1018c516
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x108]
push dword [ebp - 0x110]
jmp 0x1018c80f
push str.value
mov ecx, esi
call fcn.1018d590
lea ecx, [ebp - 0x268]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x24
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0x120]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x254]
cmp ecx, 0xf
jbe 0x1018c617
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018c60d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
lea esi, [edi + 0x18]
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
test esi, esi
je 0x1018c656
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x1018c656
add eax, 4
push 0x1021bfd0
push eax
call fcn.101aa865
add esp, 8
test eax, eax
je 0x1018c658
xor esi, esi
lea ecx, [ebp - 0x120]
xor edi, edi
call fcn.1016b220
test eax, eax
je 0x1018c6bf
xor edx, edx
mov dword [ebp - 0x234], edx
mov eax, dword [esi + 4]
sub eax, dword [esi]
sar eax, 2
cmp edi, eax
jae 0x1018c6bf
cmp byte [ebp - 0x120], 2
jne 0x1018cc0a
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax]
add ecx, edx
call fcn.101664d0
mov eax, dword [esi]
lea ecx, [ebp - 0x120]
mov edx, dword [ebp - 0x234]
add edx, 0x10
mov dword [ebp - 0x234], edx
movss dword [eax + edi*4], xmm0
inc edi
call fcn.1016b220
cmp edi, eax
jb 0x1018c671
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x118]
push dword [ebp - 0x120]
jmp 0x1018c80f
cmp eax, 0xf083fcb6
jne 0x1018c818
push str.value
mov ecx, esi
call fcn.1018d590
lea ecx, [ebp - 0x268]
push ecx
mov ecx, eax
call fcn.1018d920
sub esp, 0x28
mov byte [ebp - 4], 0x1e
mov ecx, esp
mov edx, eax
push 0
mov dword [ecx + 0x24], 0
lea ecx, [ebp - 0x130]
push 1
call fcn.1018da20
add esp, 0x30
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x254]
cmp ecx, 0xf
jbe 0x1018c75b
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1018c751
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1018cd1f
push ecx
push edx
call fcn.101a942d
add esp, 8
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
add edi, 0x18
je 0x1018c798
mov eax, dword [edi + 0x24]
and eax, 0xfffffffc
je 0x1018c798
add eax, 4
push 0x1021c004
push eax
call fcn.101aa865
add esp, 8
test eax, eax
je 0x1018c79a
xor edi, edi
lea ecx, [ebp - 0x130]
xor esi, esi
call fcn.1016b220
test eax, eax
je 0x1018c7ff
xor edx, edx
mov dword [ebp - 0x234], edx
mov eax, dword [edi + 4]
sub eax, dword [edi]
sar eax, 2
cmp esi, eax
jae 0x1018c7ff
cmp byte [ebp - 0x130], 2
jne 0x1018cc55
mov eax, dword [ebp - 0x128]
mov ecx, dword [eax]
add ecx, edx
call fcn.10166310
mov ecx, dword [edi]
mov edx, dword [ebp - 0x234]
add edx, 0x10
mov dword [ebp - 0x234], edx
mov dword [ecx + esi*4], eax
lea ecx, [ebp - 0x130]
inc esi
call fcn.1016b220
cmp esi, eax
jb 0x1018c7b3
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x128]
push dword [ebp - 0x130]
call fcn.10162990
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x70]
call fcn.1016a900
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x70]
call fcn.1016c960
test al, al
jne 0x1018a6b0
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.10162990
lea ecx, [ebp - 0x230]
call fcn.1014cc00
lea ecx, [ebp - 0x158]
call fcn.1010f990
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101a8fbb
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
lea ecx, [ebp - 0x90]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x330]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
mov byte [ebp - 4], 0x56
jmp 0x1018ce6c
lea ecx, [ebp - 0xa0]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x330]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
mov byte [ebp - 4], 0x4d
jmp 0x1018ce6c
lea ecx, [ebp - 0xb0]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x52c]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x3d4]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x3d4]
push 0x1021499c
jmp 0x1018ce8b
lea ecx, [ebp - 0xc0]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x544]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x3f0]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x3f0]
push 0x1021499c
jmp 0x1018ce8b
lea ecx, [ebp - 0xd0]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x55c]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x40c]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x40c]
push 0x1021499c
jmp 0x1018ce8b
lea ecx, [ebp - 0xe0]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x318]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
mov byte [ebp - 4], 0x40
push eax
mov edx, 0x131
lea ecx, [ebp - 0x2c0]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x2c0]
push 0x1021499c
jmp 0x1018ce8b
lea ecx, [ebp - 0xf0]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x318]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
mov byte [ebp - 4], 0x2d
jmp 0x1018c9e2
lea ecx, [ebp - 0x100]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x318]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
mov byte [ebp - 4], 0x47
jmp 0x1018c9e2
lea ecx, [ebp - 0x60]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x574]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x428]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x428]
push 0x1021499c
jmp 0x1018ce8b
lea ecx, [ebp - 0x60]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x5d4]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x444]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x444]
push 0x1021499c
jmp 0x1018ce8b
lea ecx, [ebp - 0x60]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x5bc]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x460]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x460]
push 0x1021499c
jmp 0x1018ce8b
lea ecx, [ebp - 0x60]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x364]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x2f8]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x2f8]
push 0x1021499c
jmp 0x1018ce8b
mov ecx, eax
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x364]
lea eax, [ebp - 0x234]
push eax
call fcn.10191280
push eax
mov edx, 0x12e
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2f8]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x2f8]
push 0x1021499c
jmp 0x1018ce8b
lea ecx, [ebp - 0x110]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x5a4]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x47c]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x47c]
push 0x1021499c
jmp 0x1018ce8b
lea ecx, [ebp - 0x120]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x58c]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x498]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x498]
push 0x1021499c
jmp 0x1018ce8b
lea ecx, [ebp - 0x130]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x348]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2dc]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x2dc]
push 0x1021499c
jmp 0x1018ce8b
push str.cannot_get_value
lea ecx, [ebp - 0x268]
call fcn.10119ad0
push ecx
lea eax, [ebp - 0x268]
mov byte [ebp - 4], 9
push eax
mov edx, 0xd6
lea ecx, [ebp - 0x2dc]
call fcn.1016e100
add esp, 8
lea eax, [ebp - 0x2dc]
push 0x102149d8
jmp 0x1018ce8b
push str.cannot_get_value
lea ecx, [ebp - 0x268]
call fcn.10119ad0
push ecx
lea eax, [ebp - 0x268]
mov byte [ebp - 4], 8
push eax
mov edx, 0xd6
lea ecx, [ebp - 0x34c]
call fcn.1016e100
add esp, 8
lea eax, [ebp - 0x34c]
push 0x102149d8
push eax
call fcn.101aab5b
call fcn.101ae3cf
lea ecx, [ebp - 0x80]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x4cc]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x4b4]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x4b4]
push 0x1021499c
push eax
call fcn.101aab5b
lea ecx, [ebp - 0x50]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x4e4]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x380]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x380]
push 0x1021499c
push eax
call fcn.101aab5b
lea ecx, [ebp - 0x50]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x4fc]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x39c]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x39c]
push 0x1021499c
push eax
call fcn.101aab5b
lea ecx, [ebp - 0x50]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x514]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x3b8]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x3b8]
push 0x1021499c
push eax
call fcn.101aab5b
lea ecx, [ebp - 0x50]
call fcn.1016aaa0
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x330]
lea eax, [ebp - 0x234]
push eax
call fcn.1018dee0
mov byte [ebp - 4], 0x5a
push eax
mov edx, 0x131
lea ecx, [ebp - 0x2a4]
call fcn.101687f0
add esp, 8
lea eax, [ebp - 0x2a4]
push 0x1021499c
push eax
call fcn.101aab5b
nop dword [eax]
invalid