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

Disassembly:
sub esp, 0x14c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x160]
push edi
mov eax, dword [esi]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 8]
push eax
call dword [eax + 0x20]
mov edx, dword [esi]
mov dword [esp + 0x6c], eax
xor ebx, ebx
add esp, 4
mov eax, dword [edx + 4]
mov dword [esp + 0x28], ebx
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x20], ebx
jle 0x4fec9a
push 0x2b
push eax
call dword [eax + 0x74]
add esp, 8
test al, al
je 0x4fec9a
mov eax, dword [esp + 0x160]
xor ecx, ecx
mov edx, eax
pop edi
pop esi
pop ebp
mov dword [edx], ecx
mov ecx, dword [esp + 8]
pop ebx
mov dword [edx + 4], ecx
mov ecx, dword [esp + 8]
mov dword [edx + 8], ecx
add esp, 0x14c
ret
mov edx, dword [esi]
push 1
mov eax, dword [edx + 8]
push eax
call dword [eax + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [esi]
xor ebp, ebp
push 1
mov ecx, dword [eax + 8]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x6c], ebx
mov eax, dword [ecx + 8]
mov dword [esp + 0x44], ebp
push eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x28], ebx
call dword [eax + 0x18]
add esp, 0x10
sub eax, 0x24
je 0x4fed63
dec eax
je 0x4fed5c
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x20], ebx
jle 0x4fed0a
mov byte [ecx + 0x18], 1
jmp 0x4ff6b6
push eax
call dword [eax + 0x88]
mov edx, dword [esi]
add esp, 4
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 4]
mov dword [edx], 3
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 4]
mov dword [eax + 8], 0x621dc4
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 4]
mov dword [ecx + 0x34], 0x4a
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 4]
mov dword [edx + 0x38], ebx
jmp 0x500294
mov eax, 3
jmp 0x4fed9b
mov eax, dword [esi]
push 2
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 8]
push eax
call dword [eax + 0x18]
push esi
call fcn.0050d980
add esp, 0xc
test al, al
je 0x4fed85
mov eax, 1
jmp 0x4fed9b
push esi
call fcn.0050e470
add esp, 4
test al, al
je 0x50022d
mov eax, 2
dec eax
je 0x4ffcfa
dec eax
je 0x4ff9f8
dec eax
jne 0x500294
mov edx, dword [esi]
push 0x6191e8
push 0x25
mov eax, dword [edx + 4]
push eax
call dword [eax + 0x10]
mov edi, eax
mov eax, dword [esi]
add esp, 0xc
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4fee07
mov edx, dword [esi + 0x1a8]
push str.token_STATEMENT_IFCOLOR
push ecx
push edx
call fcn.0052bbc0
push 0
push edi
push eax
mov dword [esp + 0x5c], eax
call dword [eax + 0x24]
add esp, 0x18
mov eax, dword [esi]
push 0
push 0x619200
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0x14]
lea eax, [esp + 0x150]
push esi
push eax
call fcn.00508da0
mov ecx, dword [eax]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esi]
mov edx, dword [eax + 4]
mov dword [esp + 0x90], edx
mov edx, dword [ecx + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x94], eax
mov eax, dword [edx + 8]
mov eax, dword [eax + 0xc]
push eax
call dword [eax + 0xc]
mov ecx, dword [esi]
add esp, 0x18
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4feea5
mov edx, dword [esi + 0x1a8]
push str.rule_expression
push ecx
push edx
call fcn.0052be30
mov ebx, eax
mov eax, dword [esp + 0x8c]
push 0
push eax
push ebx
mov dword [esp + 0x4c], ebx
call dword [ebx + 0x24]
add esp, 0x18
mov ecx, dword [esi]
push 0x619220
push 0x64
mov eax, dword [ecx + 4]
push eax
call dword [eax + 0x10]
mov edx, dword [esi]
mov edi, eax
add esp, 0xc
mov ecx, dword [edx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4feefe
mov edx, dword [esi + 0x1a8]
push str.token_AUX_SYMBOL_COMMA
push ecx
push edx
call fcn.0052bbc0
mov ebp, eax
push 0
push edi
push ebp
mov dword [esp + 0x50], ebp
call dword [ebp + 0x24]
add esp, 0x18
mov eax, dword [esi]
push 0
push 0x619238
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0x14]
lea eax, [esp + 0x108]
push esi
push eax
call fcn.00508da0
mov ecx, dword [eax]
mov dword [esp + 0x80], ecx
mov ecx, dword [esi]
mov edx, dword [eax + 4]
mov dword [esp + 0x84], edx
mov edx, dword [ecx + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x88], eax
mov eax, dword [edx + 8]
mov eax, dword [eax + 0xc]
push eax
call dword [eax + 0xc]
mov ecx, dword [esi]
add esp, 0x18
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4fefa0
test ebx, ebx
jne 0x4fef92
mov edx, dword [esi + 0x1a8]
push str.rule_expression
push ecx
push edx
call fcn.0052be30
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x74]
push 0
push eax
push ebx
call dword [ebx + 0x24]
add esp, 0xc
mov ecx, dword [esi]
push 0x619258
push 0x64
mov eax, dword [ecx + 4]
push eax
call dword [eax + 0x10]
mov edx, dword [esi]
mov edi, eax
add esp, 0xc
mov ecx, dword [edx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4ff000
test ebp, ebp
jne 0x4feff6
mov edx, dword [esi + 0x1a8]
push str.token_AUX_SYMBOL_COMMA
push ecx
push edx
call fcn.0052bbc0
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x38], ebp
push 0
push edi
push ebp
call dword [ebp + 0x24]
add esp, 0xc
mov eax, dword [esi]
push 0
push 0x619270
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0x14]
lea eax, [esp + 0xc0]
push esi
push eax
call fcn.00508da0
mov ecx, dword [eax]
mov dword [esp + 0x98], ecx
mov ecx, dword [esi]
mov edx, dword [eax + 4]
mov dword [esp + 0x9c], edx
mov edx, dword [ecx + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0xa0], eax
mov eax, dword [edx + 8]
mov eax, dword [eax + 0xc]
push eax
call dword [eax + 0xc]
mov ecx, dword [esi]
add esp, 0x18
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4ff0a5
test ebx, ebx
jne 0x4ff094
mov edx, dword [esi + 0x1a8]
push str.rule_expression
push ecx
push edx
call fcn.0052be30
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x8c]
push 0
push eax
push ebx
call dword [ebx + 0x24]
add esp, 0xc
mov ecx, dword [esi]
push 0x619290
push 0x64
mov eax, dword [ecx + 4]
push eax
call dword [eax + 0x10]
mov edx, dword [esi]
mov edi, eax
add esp, 0xc
mov ecx, dword [edx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4ff105
test ebp, ebp
jne 0x4ff0fb
mov edx, dword [esi + 0x1a8]
push str.token_AUX_SYMBOL_COMMA
push ecx
push edx
call fcn.0052bbc0
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x38], ebp
push 0
push edi
push ebp
call dword [ebp + 0x24]
add esp, 0xc
mov eax, dword [esi]
push 0
push 0x6192b0
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0x14]
lea eax, [esp + 0x138]
push esi
push eax
call fcn.00508da0
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov ebp, dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0xc]
mov eax, dword [esi]
add esp, 0x18
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4ff196
test ebx, ebx
jne 0x4ff18c
mov edx, dword [esi + 0x1a8]
push str.rule_expression
push ecx
push edx
call fcn.0052be30
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x34], ebx
push 0
push ebp
push ebx
call dword [ebx + 0x24]
add esp, 0xc
mov eax, dword [esi]
push 1
mov edi, 2
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 8]
push eax
call dword [eax + 0x18]
add esp, 8
cmp eax, 0x26
jne 0x4ff1b6
mov edi, 1
dec edi
jne 0x4ff210
mov edx, dword [esi]
push 0x6192d0
push 0x26
mov eax, dword [edx + 4]
push eax
call dword [eax + 0x10]
mov edi, eax
mov eax, dword [esi]
add esp, 0xc
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4ff210
mov edx, dword [esi + 0x1a8]
push str.token_STATEMENT_THEN
push ecx
push edx
call fcn.0052bbc0
push 0
push edi
push eax
mov dword [esp + 0x68], eax
call dword [eax + 0x24]
add esp, 0x18
mov eax, dword [esi]
push 0
push 0x6192f0
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0x14]
lea eax, [esp + 0xd8]
push esi
push eax
call fcn.004f4620
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edi, dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0xc]
mov eax, dword [esi]
add esp, 0x18
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4ff298
mov edx, dword [esi + 0x1a8]
push str.rule_statementSeparator
push ecx
push edx
call fcn.0052be30
push 0
push edi
push eax
mov dword [esp + 0x6c], eax
call dword [eax + 0x24]
add esp, 0x18
mov eax, dword [esi]
push 1
mov edi, 2
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 8]
push eax
call dword [eax + 0x18]
add esp, 8
cmp eax, 8
jl 0x4ff2bc
cmp eax, 0xb
jle 0x4ff378
cmp eax, 0x1e
je 0x4ff378
cmp eax, 0x30
je 0x4ff378
cmp eax, 0x78
je 0x4ff378
cmp eax, 0x8f
jl 0x4ff2e9
cmp eax, 0x90
jle 0x4ff378
cmp eax, 0x65
jne 0x4ff2fd
mov eax, dword [0x66d978]
test eax, eax
jle 0x4ff37d
jmp 0x4ff378
cmp eax, 4
jl 0x4ff307
cmp eax, 7
jle 0x4ff378
cmp eax, 0xc
je 0x4ff378
cmp eax, 0xe
je 0x4ff378
cmp eax, 0x10
jl 0x4ff31b
cmp eax, 0x11
jle 0x4ff378
cmp eax, 0x16
jl 0x4ff325
cmp eax, 0x19
jle 0x4ff378
cmp eax, 0x1b
je 0x4ff378
cmp eax, 0x24
jl 0x4ff334
cmp eax, 0x25
jle 0x4ff378
cmp eax, 0x2a
je 0x4ff378
cmp eax, 0x2c
je 0x4ff378
cmp eax, 0x2f
je 0x4ff378
cmp eax, 0x32
je 0x4ff378
cmp eax, 0x34
je 0x4ff378
cmp eax, 0x43
jl 0x4ff357
cmp eax, 0x44
jle 0x4ff378
cmp eax, 0x8b
jl 0x4ff365
cmp eax, 0x8c
jle 0x4ff378
cmp eax, 0x69
je 0x4ff36f
cmp eax, 0x77
jne 0x4ff37d
mov eax, dword [0x66d970]
test eax, eax
jne 0x4ff37d
mov edi, 1
mov eax, edi
dec eax
jne 0x4ff422
mov edx, dword [esi]
push 0
push 0x619310
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0xc]
push eax
call dword [eax + 0x14]
lea edx, [esp + 0x120]
push esi
push edx
call fcn.004f29a0
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edi, dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0xc]
mov eax, dword [esi]
add esp, 0x18
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4ff298
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4ff413
push str.rule_statement
push ecx
mov ecx, dword [esi + 0x1a8]
push ecx
call fcn.0052be30
add esp, 0xc
mov dword [esp + 0x30], eax
push 0
push edi
push eax
call dword [eax + 0x24]
add esp, 0xc
jmp 0x4ff298
mov edx, dword [esi]
push 1
mov edi, 2
mov eax, dword [edx + 8]
mov eax, dword [eax + 8]
push eax
call dword [eax + 0x18]
add esp, 8
cmp eax, 0x27
jne 0x4ff442
mov edi, 1
dec edi
jne 0x4ff4e5
mov ecx, dword [esi]
push 0
push 0x619328
mov edx, dword [ecx + 4]
mov eax, dword [edx + 8]
mov eax, dword [eax + 0xc]
push eax
call dword [eax + 0x14]
lea ecx, [esp + 0xf0]
push esi
push ecx
call fcn.00501170
mov edx, dword [eax]
mov dword [esp + 0x30], edx
mov edx, dword [esi]
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], ecx
mov edi, dword [eax + 8]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0xc]
push eax
call dword [eax + 0xc]
mov edx, dword [esi]
add esp, 0x18
mov ecx, dword [edx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4ff422
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4ff4d6
mov eax, dword [esi + 0x1a8]
push str.rule_elseIf
push ecx
push eax
call fcn.0052be30
add esp, 0xc
mov dword [esp + 0x2c], eax
push 0
push edi
push eax
call dword [eax + 0x24]
add esp, 0xc
jmp 0x4ff422
mov ecx, dword [esi]
push 1
mov edi, 2
mov edx, dword [ecx + 8]
mov eax, dword [edx + 8]
push eax
call dword [eax + 0x18]
add esp, 8
cmp eax, 0x28
jne 0x4ff505
mov edi, 1
dec edi
jne 0x4ff594
mov eax, dword [esi]
push 0
push 0x619340
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0x14]
lea eax, [esp + 0x9c]
push esi
push eax
call fcn.005018a0
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edi, dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0xc]
mov eax, dword [esi]
add esp, 0x18
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4ff594
mov edx, dword [esi + 0x1a8]
push str.rule_elseRule
push ecx
push edx
call fcn.0052be30
push 0
push edi
push eax
mov dword [esp + 0x54], eax
call dword [eax + 0x24]
add esp, 0x18
mov eax, dword [esi]
push 1
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 8]
push eax
call dword [eax + 0x18]
add esp, 8
cmp eax, 0x29
je 0x4ff624
cmp eax, 0x41
je 0x4ff61d
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x20]
test edx, edx
jle 0x4ff5c7
mov byte [ecx + 0x18], 1
jmp 0x4ff6b6
push eax
call dword [eax + 0x88]
mov edx, dword [esi]
add esp, 4
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 4]
mov dword [edx], 3
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 4]
mov dword [eax + 8], 0x621dc4
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 4]
mov dword [ecx + 0x34], 0x49
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 4]
mov dword [edx + 0x38], 0
jmp 0x500294
mov eax, 2
jmp 0x4ff629
mov eax, 1
dec eax
je 0x4ff6f9
dec eax
jne 0x4ff74c
mov eax, dword [esi]
push 0x619360
push 0x41
mov eax, dword [eax + 4]
push eax
call dword [eax + 0x10]
mov ecx, dword [esi]
mov edi, eax
add esp, 0xc
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4ff68a
mov edx, dword [esi + 0x1a8]
push str.token_CLAUSE_END
push ecx
push edx
call fcn.0052bbc0
push 0
push edi
push eax
mov dword [esp + 0x78], eax
call dword [eax + 0x24]
add esp, 0x18
mov eax, dword [esi]
push 0x619370
push 0x24
mov eax, dword [eax + 4]
push eax
call dword [eax + 0x10]
mov ecx, dword [esi]
mov edi, eax
add esp, 0xc
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
jne 0x4ff6da
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x10]
mov edx, eax
pop edi
pop esi
pop ebp
mov dword [edx], ecx
pop ebx
mov dword [edx + 4], ecx
mov ecx, dword [esp + 8]
mov dword [edx + 8], ecx
add esp, 0x14c
ret
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4ff74c
mov edx, dword [esi + 0x1a8]
push str.token_STATEMENT_IF
push ecx
push edx
call fcn.0052bbc0
mov dword [esp + 0x68], eax
jmp 0x4ff742
mov eax, dword [esi]
push 0x619350
push 0x29
mov eax, dword [eax + 4]
push eax
call dword [eax + 0x10]
mov ecx, dword [esi]
mov edi, eax
add esp, 0xc
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x4ff74c
mov edx, dword [esi + 0x1a8]
push str.token_STATEMENT_ENDIF
push ecx
push edx
call fcn.0052bbc0
mov dword [esp + 0x64], eax
push 0
push edi
push eax
call dword [eax + 0x24]
add esp, 0x18
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x20]
test edx, edx
jne 0x500294
mov edx, dword [esi + 0x1a8]
push 0
push str.token_retval
push eax
push edx
call fcn.0052bf20
mov edx, dword [esi + 0x1a8]
mov dword [esp + 0x74], eax
mov eax, dword [esi]
push ebp
push str.token_exp4
mov ecx, dword [eax + 4]
push ecx
push edx
call fcn.0052bf20
mov ecx, dword [esi]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xac]
mov edx, dword [ecx + 4]
push eax
mov eax, dword [esi + 0x1a8]
push str.token_exp3
push edx
push eax
call fcn.0052bf20
mov edx, dword [esi]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x7c], eax
push ecx
mov eax, dword [edx + 4]
mov ecx, dword [esi + 0x1a8]
push str.token_exp2
push eax
push ecx
call fcn.0052bf20
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x88], eax
mov eax, dword [esi]
add esp, 0x40
mov ecx, dword [eax + 4]
push edx
mov edx, dword [esi + 0x1a8]
push str.token_exp1
push ecx
push edx
call fcn.0052bf20
mov ebx, eax
mov eax, dword [esi + 0x1a8]
push eax
call dword [eax + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x1a8]
push eax
call dword [eax + 0x10]
mov edi, eax
mov eax, dword [esp + 0x5c]
add esp, 0x18
test eax, eax
je 0x4ff82c
push eax
call dword [eax + 0x44]
add esp, 4
mov ecx, dword [esi + 0x1a8]
push edi
push eax
push ecx
call dword [ecx + 0x34]
mov ebp, eax
mov eax, dword [esi + 0x1a8]
push eax
call dword [eax + 0x10]
mov edi, dword [esi + 0x1a8]
add esp, 0x10
push eax
push str.AUX_SYMBOL_LPARENTHESIS
push 0x66
push edi
call dword [edi + 0x4c]
add esp, 0xc
push eax
mov eax, dword [esi + 0x1a8]
push eax
call dword [edi + 0x34]
add esp, 0xc
mov edi, eax
test ebx, ebx
jne 0x4ff874
xor eax, eax
jmp 0x4ff87b
push ebx
call dword [ebx + 0x2c]
add esp, 4
mov ecx, dword [esi + 0x1a8]
push eax
push edi
push ecx
call dword [ecx + 0x1c]
mov eax, dword [esp + 0x54]
add esp, 0xc
test eax, eax
jne 0x4ff896
xor eax, eax
jmp 0x4ff8a1
mov eax, dword [esp + 0x48]
push eax
call dword [eax + 0x2c]
add esp, 4
mov ecx, dword [esi + 0x1a8]
push eax
push edi
push ecx
call dword [ecx + 0x1c]
mov eax, dword [esp + 0x58]
add esp, 0xc
test eax, eax
jne 0x4ff8bc
xor eax, eax
jmp 0x4ff8c7
mov eax, dword [esp + 0x4c]
push eax
call dword [eax + 0x2c]
add esp, 4
mov ecx, dword [esi + 0x1a8]
push eax
push edi
push ecx
call dword [ecx + 0x1c]
mov eax, dword [esp + 0x4c]
add esp, 0xc
test eax, eax
jne 0x4ff8e2
xor eax, eax
jmp 0x4ff8ed
mov eax, dword [esp + 0x40]
push eax
call dword [eax + 0x2c]
add esp, 4
mov ecx, dword [esi + 0x1a8]
push eax
push edi
push ecx
call dword [ecx + 0x1c]
mov eax, dword [esi + 0x1a8]
push edi
push ebp
push eax
call dword [eax + 0x1c]
mov eax, dword [esp + 0x48]
add esp, 0x18
test eax, eax
je 0x4ff93f
mov edi, dword [esp + 0x30]
push edi
call dword [edi + 0x40]
add esp, 4
test al, al
je 0x4ff938
mov eax, dword [esp + 0x30]
mov edi, dword [esi + 0x1a8]
push eax
call dword [eax + 0x2c]
push eax
push ebp
push edi
call dword [edi + 0x1c]
add esp, 0x10
jmp 0x4ff910
push edi
call dword [edi + 0x20]
add esp, 4
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x4ff976
push edi
call dword [edi + 0x40]
add esp, 4
test al, al
je 0x4ff96f
mov eax, dword [esp + 0x2c]
mov edi, dword [esi + 0x1a8]
push eax
call dword [eax + 0x2c]
push eax
push ebp
push edi
call dword [edi + 0x1c]
mov edi, dword [esp + 0x3c]
add esp, 0x10
jmp 0x4ff947
push edi
call dword [edi + 0x20]
add esp, 4
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4ff985
push eax
call dword [eax + 0x2c]
add esp, 4
mov ecx, dword [esi + 0x1a8]
push eax
push ebp
push ecx
call dword [ecx + 0x1c]
mov edi, dword [esp + 0x34]
mov eax, dword [esi + 0x1a8]
push ebp
push edi
push eax
call dword [eax + 0x1c]
mov eax, dword [esp + 0x7c]
add esp, 0x18
test eax, eax
mov dword [esp + 0x18], edi
je 0x4ff9b7
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4ff9c6
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4ff9d5
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4ff9e4
push eax
call dword [eax + 0x50]
add esp, 4
test ebx, ebx
je 0x500294
push ebx
call dword [ebx + 0x50]
add esp, 4
jmp 0x500294
mov eax, dword [esi + 0x1a8]
push eax
call dword [eax + 0x10]
mov edx, dword [esi]
mov ebx, eax
push 0x619168
push 0x24
mov eax, dword [edx + 4]
mov dword [esp + 0x34], ebx
push eax
call dword [eax + 0x10]
mov ecx, dword [esi]
add esp, 0x10
mov edx, dword [ecx + 4]
mov ecx, dword [edx + 8]
cmp byte [ecx], 1
je 0x500294
cmp byte [ecx + 0x18], 1
je 0x4ff6b6
mov edx, dword [ecx + 0x20]
test edx, edx
jne 0x4ffa5d
mov ecx, dword [esi + 0x1a8]
push eax
push ecx
call dword [ecx + 0x40]
mov ecx, dword [esi + 0x1a8]
push ebx
push eax
push ecx
call dword [ecx + 0x34]
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x28], ebx
mov edx, dword [esi]
push 0
push 0x619178
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0xc]
push eax
call dword [eax + 0x14]
lea edx, [esp + 0xa8]
push esi
push edx
call fcn.00508f10
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edi, dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0xc]
mov eax, dword [esi]
add esp, 0x18
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x4ffad4
mov eax, dword [esi + 0x1a8]
push edi
push ebx
push eax
call dword [eax + 0x1c]
add esp, 0xc
mov edx, dword [esi]
push 0x619198
push 0x26
mov eax, dword [edx + 4]
push eax
call dword [eax + 0x10]
mov eax, dword [esi]
add esp, 0xc
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x4ffb13
mov dword [0x66d970], 1
mov edx, dword [esi]
push 0
push 0x6191a8
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0xc]
push eax
call dword [eax + 0x14]
lea edx, [esp + 0xb4]
push esi
push edx
call fcn.00501e00
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edi, dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0xc]
mov eax, dword [esi]
add esp, 0x18
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x4ffb8a
mov eax, dword [esi + 0x1a8]
push edi
push ebx
push eax
call dword [eax + 0x1c]
add esp, 0xc
mov edx, dword [esi]
push 1
mov edi, 2
mov eax, dword [edx + 8]
mov eax, dword [eax + 8]
push eax
call dword [eax + 0x18]
add esp, 8
cmp eax, 0x27
jne 0x4ffbba
mov ecx, dword [esi]
push edi
mov edx, dword [ecx + 8]
mov eax, dword [edx + 8]
push eax
call dword [eax + 0x18]
add esp, 8
mov edi, 1
dec edi
jne 0x4ffc2e
mov eax, dword [esi]
push 0
push 0x6191b8
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0x14]
lea eax, [esp + 0xcc]
push esi
push eax
call fcn.00501170
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edi, dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0xc]
mov eax, dword [esi]
add esp, 0x18
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x4ffb8a
jmp 0x4ffb7b
mov edx, dword [esi]
push 1
mov edi, 2
mov eax, dword [edx + 8]
mov eax, dword [eax + 8]
push eax
call dword [eax + 0x18]
add esp, 8
cmp eax, 0x28
jne 0x4ffc5e
mov ecx, dword [esi]
push edi
mov edx, dword [ecx + 8]
mov eax, dword [edx + 8]
push eax
call dword [eax + 0x18]
add esp, 8
mov edi, 1
dec edi
jne 0x4ffcd8
mov eax, dword [esi]
push 0
push 0x6191c8
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0x14]
lea eax, [esp + 0xe4]
push esi
push eax
call fcn.005018a0
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edi, dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0xc]
mov eax, dword [esi]
add esp, 0x18
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x4ffcd8
mov eax, dword [esi + 0x1a8]
push edi
push ebx
push eax
call dword [eax + 0x1c]
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x20]
test eax, eax
jne 0x500294
mov dword [0x66d970], 0
jmp 0x500294
mov eax, dword [esi + 0x1a8]
push eax
call dword [eax + 0x10]
mov edx, dword [esi]
mov ebx, eax
push 0x619068
push 0x24
mov eax, dword [edx + 4]
mov dword [esp + 0x34], ebx
push eax
call dword [eax + 0x10]
mov ecx, dword [esi]
add esp, 0x10
mov edx, dword [ecx + 4]
mov ecx, dword [edx + 8]
cmp byte [ecx], 1
je 0x500294
cmp byte [ecx + 0x18], 1
je 0x4ff6b6
mov edx, dword [ecx + 0x20]
test edx, edx
jne 0x4ffd5f
mov ecx, dword [esi + 0x1a8]
push eax
push ecx
call dword [ecx + 0x40]
mov ecx, dword [esi + 0x1a8]
push ebx
push eax
push ecx
call dword [ecx + 0x34]
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x28], ebx
mov edx, dword [esi]
push 0
push 0x619088
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0xc]
push eax
call dword [eax + 0x14]
lea edx, [esp + 0xfc]
push esi
push edx
call fcn.00508f10
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edi, dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0xc]
mov eax, dword [esi]
add esp, 0x18
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x4ffdd6
mov eax, dword [esi + 0x1a8]
push edi
push ebx
push eax
call dword [eax + 0x1c]
add esp, 0xc
mov edx, dword [esi]
push 1
mov edi, 2
mov eax, dword [edx + 8]
mov eax, dword [eax + 8]
push eax
call dword [eax + 0x18]
add esp, 8
cmp eax, 0x26
jne 0x4ffdf6
mov edi, 1
dec edi
jne 0x4ffe27
mov ecx, dword [esi]
push 0x6190a8
push 0x26
mov eax, dword [ecx + 4]
push eax
call dword [eax + 0x10]
mov edx, dword [esi]
add esp, 0xc
mov eax, dword [edx + 4]
mov eax, dword [eax + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [esi]
push 0
push 0x6190c8
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0xc]
push eax
call dword [eax + 0x14]
lea edx, [esp + 0x114]
push esi
push edx
call fcn.004f4620
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0xc]
mov eax, dword [esi]
add esp, 0x18
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov edx, dword [esi]
push 1
mov edi, 2
mov eax, dword [edx + 8]
mov eax, dword [eax + 8]
push eax
call dword [eax + 0x18]
add esp, 8
cmp eax, 8
jl 0x4ffe9c
cmp eax, 0xb
jle 0x4fff58
cmp eax, 0x1e
je 0x4fff58
cmp eax, 0x30
je 0x4fff58
cmp eax, 0x78
je 0x4fff58
cmp eax, 0x8f
jl 0x4ffec9
cmp eax, 0x90
jle 0x4fff58
cmp eax, 0x65
jne 0x4ffedd
mov eax, dword [0x66d978]
test eax, eax
jle 0x4fff5d
jmp 0x4fff58
cmp eax, 4
jl 0x4ffee7
cmp eax, 7
jle 0x4fff58
cmp eax, 0xc
je 0x4fff58
cmp eax, 0xe
je 0x4fff58
cmp eax, 0x10
jl 0x4ffefb
cmp eax, 0x11
jle 0x4fff58
cmp eax, 0x16
jl 0x4fff05
cmp eax, 0x19
jle 0x4fff58
cmp eax, 0x1b
je 0x4fff58
cmp eax, 0x24
jl 0x4fff14
cmp eax, 0x25
jle 0x4fff58
cmp eax, 0x2a
je 0x4fff58
cmp eax, 0x2c
je 0x4fff58
cmp eax, 0x2f
je 0x4fff58
cmp eax, 0x32
je 0x4fff58
cmp eax, 0x34
je 0x4fff58
cmp eax, 0x43
jl 0x4fff37
cmp eax, 0x44
jle 0x4fff58
cmp eax, 0x8b
jl 0x4fff45
cmp eax, 0x8c
jle 0x4fff58
cmp eax, 0x69
je 0x4fff4f
cmp eax, 0x77
jne 0x4fff5d
mov eax, dword [0x66d970]
test eax, eax
jne 0x4fff5d
mov edi, 1
mov eax, edi
dec eax
jne 0x4fffe6
mov ecx, dword [esi]
push 0
push 0x6190e8
mov edx, dword [ecx + 4]
mov eax, dword [edx + 8]
mov eax, dword [eax + 0xc]
push eax
call dword [eax + 0x14]
lea ecx, [esp + 0x12c]
push esi
push ecx
call fcn.004f29a0
mov edx, dword [eax]
mov dword [esp + 0x30], edx
mov edx, dword [esi]
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], ecx
mov edi, dword [eax + 8]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0xc]
push eax
call dword [eax + 0xc]
mov edx, dword [esi]
add esp, 0x18
mov eax, dword [edx + 4]
mov eax, dword [eax + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x4ffe78
mov eax, dword [esi + 0x1a8]
push edi
push ebx
push eax
call dword [eax + 0x1c]
add esp, 0xc
jmp 0x4ffe78
mov ecx, dword [esi]
push 1
mov edi, 2
mov edx, dword [ecx + 8]
mov eax, dword [edx + 8]
push eax
call dword [eax + 0x18]
add esp, 8
cmp eax, 0x27
jne 0x500006
mov edi, 1
dec edi
jne 0x50008d
mov eax, dword [esi]
push 0
push 0x619100
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0x14]
lea eax, [esp + 0x144]
push esi
push eax
call fcn.00501170
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edi, dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
push eax
call dword [eax + 0xc]
mov eax, dword [esi]
add esp, 0x18
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x4fffe6
mov eax, dword [esi + 0x1a8]
push edi
push ebx
push eax
call dword [eax + 0x1c]
add esp, 0xc
jmp 0x4fffe6
mov edx, dword [esi]
push 1
mov edi, 2
mov eax, dword [edx + 8]
mov eax, dword [eax + 8]
push eax
call dword [eax + 0x18]
add esp, 8
cmp eax, 0x28
jne 0x5000ad
mov edi, 1
dec edi
jne 0x500127
mov ecx, dword [esi]
push 0
push 0x619118
mov edx, dword [ecx + 4]
mov eax, dword [edx + 8]
mov eax, dword [eax + 0xc]
push eax
call dword [eax + 0x14]
lea ecx, [esp + 0x15c]
push esi
push ecx
call fcn.005018a0
mov edx, dword [eax]
mov dword [esp + 0x30], edx
mov edx, dword [esi]
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], ecx
mov edi, dword [eax + 8]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0xc]
push eax
call dword [eax + 0xc]
mov edx, dword [esi]
add esp, 0x18
mov eax, dword [edx + 4]
mov eax, dword [eax + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
je 0x4ff6b6
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x500127
mov eax, dword [esi + 0x1a8]
push edi
push ebx
push eax
call dword [eax + 0x1c]
add esp, 0xc
mov edx, dword [esi]
push 1
mov eax, dword [edx + 8]
mov eax, dword [eax + 8]
push eax
call dword [eax + 0x18]
add esp, 8
cmp eax, 0x29
je 0x5001a5
cmp eax, 0x41
je 0x50019e
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x20]
test edx, edx
jle 0x50015a
mov byte [ecx + 0x18], 1
jmp 0x4ff6b6
push eax
call dword [eax + 0x88]
mov edx, dword [esi]
add esp, 4
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 4]
mov dword [edx], 3
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 4]
mov dword [eax + 8], 0x621dc4
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 4]
mov dword [ecx + 0x34], 0x42
jmp 0x4ff606
mov eax, 2
jmp 0x5001aa
mov eax, 1
dec eax
je 0x500210
dec eax
jne 0x500294
mov eax, dword [esi]
push 0x619138
push 0x41
mov eax, dword [eax + 4]
push eax
call dword [eax + 0x10]
mov ecx, dword [esi]
add esp, 0xc
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 8]
cmp byte [ecx], 1
je 0x500294
cmp byte [ecx + 0x18], 1
je 0x4ff6b6
push 0x619148
push 0x24
push eax
call dword [eax + 0x10]
mov edx, dword [esi]
add esp, 0xc
mov eax, dword [edx + 4]
mov eax, dword [eax + 8]
cmp byte [eax], 1
je 0x500294
cmp byte [eax + 0x18], 1
jne 0x500294
jmp 0x4ff6b6
mov edx, dword [esi]
push 0x619128
push 0x29
mov eax, dword [edx + 4]
push eax
call dword [eax + 0x10]
mov eax, dword [esi]
add esp, 0xc
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
jmp 0x5001f8
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x20], ebx
jle 0x500243
mov byte [ecx + 0x18], 1
jmp 0x4ff6b6
push eax
call dword [eax + 0x88]
mov edx, dword [esi]
add esp, 4
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 4]
mov dword [edx], 3
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 4]
mov dword [eax + 8], 0x621dc4
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 4]
mov dword [ecx + 0x34], 0x4a
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 4]
mov dword [edx + 0x38], 1
mov eax, dword [esi]
push 0xffffffffffffffff
mov eax, dword [eax + 8]
push eax
call dword [eax + 0x14]
mov edi, eax
mov eax, dword [esi]
add esp, 8
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0x20]
test ecx, ecx
jne 0x500391
mov eax, dword [eax + 8]
push 0xffffffffffffffff
push eax
call dword [eax + 0x14]
mov ecx, dword [esp + 0x30]
mov edi, eax
mov eax, dword [esi + 0x1a8]
push ecx
push eax
call dword [eax + 0x38]
mov ebx, dword [esp + 0x20]
mov ebp, eax
mov eax, dword [esi + 0x1a8]
push edi
push ebx
push ebp
push eax
call dword [eax + 0x90]
mov eax, dword [esp + 0x78]
add esp, 0x20
test eax, eax
je 0x5002f9
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x44]
test eax, eax
je 0x500308
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x60]
test eax, eax
je 0x500317
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x500326
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x500335
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x50]
test eax, eax
je 0x500344
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x500353
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x500362
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x500371
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x500380
push eax
call dword [eax + 0x50]
add esp, 4
mov eax, dword [esp + 0x54]
test eax, eax
je 0x500399
push eax
call dword [eax + 0x50]
add esp, 4
jmp 0x500399
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
cmp byte [ecx], 1
jne 0x5003eb
push eax
call dword [eax + 0x24]
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call dword [eax + 0x30]
mov eax, dword [esi]
mov ebp, dword [esi + 0x1a8]
add esp, 8
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [edx + 4]
push eax
push 0xffffffffffffffff
push ecx
call dword [ecx + 0x14]
mov ecx, dword [esi]
add esp, 8
mov edx, dword [ecx + 8]
push eax
mov eax, dword [esi + 0x1a8]
push ebx
push edx
push eax
call dword [ebp + 0x2c]
add esp, 0x14
mov ebp, eax
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
mov edx, dword [eax + 8]
mov ecx, dword [edx + 0x20]
test ecx, ecx
jle 0x500408
mov ecx, dword [esp + 0x68]
push ecx
push 0x2b
push eax
call dword [eax + 0x78]
add esp, 0xc
mov eax, dword [esp + 0x160]
mov edx, eax
mov dword [edx], ebx
mov dword [edx + 4], edi
pop edi
pop esi
mov dword [edx + 8], ebp
pop ebp
pop ebx
add esp, 0x14c
ret