Function at 0x407eb0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, edx
mov esi, ecx
mov dword [ebp - 0x10], edi
mov eax, dword [edi + 8]
mov edx, dword [eax]
cmp edx, 9
je 0x407f1a
nop dword [eax]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
cmp ecx, 9
je 0x407f1a
cmp edx, 0xa
je 0x407f1a
cmp ecx, 0xa
je 0x407f1a
lea eax, [edx - 0xb]
cmp eax, 0xa
ja case.0x407ef7.12
movzx eax, byte [eax + 0x408e20]
jmp dword [eax*4 + 0x408e0c]
cmp ecx, 0xf
jne 0x407f9a
mov eax, edi
mov edi, ebx
mov ebx, eax
mov dword [ebp - 0x10], edi
mov eax, dword [edi + 8]
mov edx, dword [eax]
cmp edx, 9
jne 0x407ed0
mov eax, dword [edi + 0x14]
mov edx, 2
mov dword [ebp - 0x20], eax
mov ecx, esi
mov eax, dword [ebx + 0x14]
push 0
push dword [esi + 4]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push eax
call fcn.00406c40
mov edx, dword [sym.imp.libhl.dll_hl_dyn_compare]
add esp, 0xc
mov ecx, esi
push eax
call fcn.00406db0
mov ebx, dword [ebp + 0xc]
add esp, 4
mov eax, dword [ebx]
cmp eax, 0x32
je 0x408d32
cmp eax, 0x31
je 0x408d32
lea eax, [esi + 8]
mov edx, 0x10
push 0
push eax
push eax
mov ecx, esi
call fcn.004043b0
mov eax, dword [edi + 8]
add esp, 0xc
mov eax, dword [eax]
cmp eax, 6
je 0x408ccf
cmp eax, 5
je 0x408ccf
xor eax, eax
jmp 0x408cd4
push dword [edi + 8]
call dword [sym.imp.libhl.dll_hl_get_obj_rt]
add esp, 4
cmp dword [eax + 0x30], 0
je case.0x407ef7.12
push 1
mov edx, edi
mov ecx, esi
call fcn.00405ef0
add esp, 4
mov dword [ebp - 0xc], eax
mov edx, ebx
mov ecx, esi
push 1
call fcn.00405ef0
mov ecx, dword [edi + 0x14]
add esp, 4
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 8], eax
push 0
mov ecx, dword [ecx]
sub ecx, 0x38
je 0x408206
sub ecx, 1
mov ecx, esi
je 0x4080e2
mov eax, dword [ebp - 0xc]
mov edx, 0x10
push eax
push eax
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0x10
mov ecx, esi
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ebx, eax
sub ebx, dword [esi + 0x1ac]
push 0
or ebx, 0x40000000
mov byte [eax], 0
mov eax, dword [ebp - 8]
inc dword [esi]
push eax
push eax
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
xor edx, edx
mov ecx, esi
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov edi, eax
sub edi, dword [esi + 0x1ac]
or edi, 0x40000000
mov byte [eax], 0
lea eax, [ebp - 0x20]
inc dword [esi]
push eax
mov eax, dword [ebp - 0x10]
push 2
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x28]
push dword [eax + 0x30]
call fcn.00406e70
add esp, 0xc
mov dword [ebp - 0x30], 3
lea eax, [ebp - 0x30]
mov dword [ebp - 0x24], 0
mov edx, 0xf
mov dword [ebp - 0x2c], 0
mov ecx, esi
push 0
push eax
lea eax, [esi + 8]
push eax
call fcn.004043b0
mov eax, dword [ebp + 0xc]
add esp, 0xc
push dword [ebp + 0x10]
mov edx, dword [eax]
push ecx
push 0
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
add esp, 4
mov edx, ebx
mov ecx, esi
call fcn.00405a70
mov edx, edi
mov ecx, esi
call fcn.00405a70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0xc]
mov edx, 0xf
push eax
push ebx
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0x10
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esi + 0x1ac]
or ecx, 0x40000000
push 0
mov dword [ebp - 0x10], ecx
mov ecx, esi
push ebx
mov byte [eax], 0
inc dword [esi]
push ebx
call fcn.004043b0
mov ebx, dword [ebp + 0x10]
add esp, 0xc
mov edx, 0x38
push ebx
push ecx
push 0
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
mov eax, dword [ebp - 8]
add esp, 4
mov edx, 0x10
mov ecx, esi
push 0
push eax
push eax
call fcn.004043b0
add esp, 0xc
mov edx, 0x38
push ebx
push ecx
push 0
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
add esp, 4
lea eax, [ebp - 0x20]
xor edx, edx
mov ecx, esi
push eax
mov eax, dword [edi + 8]
push 2
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x28]
push dword [eax + 0x30]
call fcn.00406e70
add esp, 0xc
lea eax, [esi + 8]
mov edx, 0x10
mov ecx, esi
push 0
push eax
push eax
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov edi, eax
sub edi, dword [esi + 0x1ac]
or edi, 0x40000000
mov byte [eax], 0
inc dword [esi]
push ebx
push ecx
push 0
mov edx, 0x39
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
add esp, 4
mov edx, edi
mov ecx, esi
call fcn.00405a70
mov edx, dword [ebp - 0x10]
mov ecx, esi
call fcn.00405a70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0xc]
mov edx, 0xf
push eax
push ebx
mov ecx, esi
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0x10
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esi + 0x1ac]
or ecx, 0x40000000
push 0
mov dword [ebp - 0x10], ecx
mov ecx, esi
push ebx
mov byte [eax], 0
inc dword [esi]
push ebx
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0x10
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esi + 0x1ac]
or ecx, 0x40000000
push 0
mov byte [eax], 0
mov eax, dword [ebp - 8]
inc dword [esi]
push eax
mov dword [ebp - 0xc], ecx
mov ecx, esi
push eax
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
xor edx, edx
mov ecx, esi
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ebx, eax
sub ebx, dword [esi + 0x1ac]
or ebx, 0x40000000
mov byte [eax], 0
lea eax, [ebp - 0x20]
inc dword [esi]
push eax
mov eax, dword [edi + 8]
push 2
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x28]
push dword [eax + 0x30]
call fcn.00406e70
add esp, 0xc
lea eax, [esi + 8]
mov edx, 0x10
mov ecx, esi
push 0
push eax
push eax
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, dword [ebp - 0x10]
mov ecx, esi
mov byte [eax], 0x75
inc dword [esi]
mov eax, dword [esi]
mov edi, eax
sub edi, dword [esi + 0x1ac]
or edi, 0x40000000
mov byte [eax], 0
inc dword [esi]
call fcn.00405a70
push dword [ebp + 0x10]
mov edx, 0x3a
push ecx
push 0
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
mov edx, dword [ebp - 0xc]
add esp, 4
mov ecx, esi
call fcn.00405a70
mov edx, ebx
mov ecx, esi
call fcn.00405a70
mov edx, edi
mov ecx, esi
call fcn.00405a70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x14]
mov edx, 2
mov dword [ebp - 0x20], eax
mov ecx, esi
mov eax, dword [ebx + 0x14]
push 0
push dword [esi + 4]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push eax
call fcn.00406c40
mov edx, dword [sym.imp.libhl.dll_hl_same_type]
add esp, 0xc
mov ecx, esi
push eax
call fcn.00406db0
add esp, 4
mov dword [ebp - 0x30], 3
lea eax, [ebp - 0x30]
mov dword [ebp - 0x24], 0
mov edx, 0x33
mov dword [ebp - 0x2c], 1
mov ecx, esi
push 0
push eax
lea eax, [esi + 8]
push eax
call fcn.004043b0
mov ebx, dword [ebp + 0xc]
jmp 0x407f79
mov eax, dword [edi + 8]
push dword [eax + 4]
call dword [sym.imp.libhl.dll_hl_type_size]
add esp, 4
mov edx, edi
cmp eax, 1
jne 0x4083c3
push ecx
mov ecx, esi
call fcn.00406090
jmp 0x4083cc
push 1
mov ecx, esi
call fcn.00405ef0
mov dword [ebp - 8], eax
add esp, 4
mov eax, dword [ebx + 8]
push dword [eax + 4]
call dword [sym.imp.libhl.dll_hl_type_size]
add esp, 4
mov edx, ebx
cmp eax, 1
jne 0x4083f7
push ecx
mov ecx, esi
call fcn.00406090
mov ecx, eax
mov dword [ebp - 0xc], ecx
jmp 0x408405
push 1
mov ecx, esi
call fcn.00405ef0
mov ecx, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
add esp, 4
mov eax, dword [eax]
cmp eax, 0x38
jne 0x40850f
mov ebx, dword [ebp - 8]
lea edx, [eax - 0x29]
push 0
push ecx
push ebx
mov ecx, esi
call fcn.004043b0
add esp, 0xc
mov edx, 0x38
push dword [ebp + 0x10]
push ecx
push 0
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
add esp, 4
mov edx, 0x10
mov ecx, esi
push 0
push ebx
push ebx
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0x10
mov ecx, esi
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ebx, eax
sub ebx, dword [esi + 0x1ac]
push 0
or ebx, 0x40000000
mov byte [eax], 0
mov eax, dword [ebp - 0xc]
inc dword [esi]
push eax
push eax
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, dword [ebp - 8]
mov ecx, esi
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov edi, eax
sub edi, dword [esi + 0x1ac]
or edi, 0x40000000
mov byte [eax], 0
mov eax, dword [ebp - 0x10]
inc dword [esi]
mov eax, dword [eax + 8]
push dword [eax + 4]
push dword [ebp - 0xc]
call fcn.00407c40
add esp, 8
mov edx, 0x38
push dword [ebp + 0x10]
push ecx
push 0
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
mov ecx, dword [ebp - 8]
add esp, 4
call fcn.00405db0
mov ecx, dword [ebp - 0xc]
call fcn.00405db0
mov edx, ebx
mov ecx, esi
call fcn.00405a70
mov edx, edi
mov ecx, esi
call fcn.00405a70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x39
jne 0x4085fc
mov ebx, dword [ebp - 8]
lea edx, [eax - 0x2a]
push 0
push ecx
push ebx
mov ecx, esi
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0x10
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esi + 0x1ac]
or ecx, 0x40000000
push 0
mov dword [ebp - 0x10], ecx
mov ecx, esi
push ebx
mov byte [eax], 0
inc dword [esi]
push ebx
call fcn.004043b0
mov ebx, dword [ebp + 0x10]
add esp, 0xc
mov edx, 0x38
push ebx
push ecx
push 0
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
mov eax, dword [ebp - 0xc]
add esp, 4
mov edx, 0x10
mov ecx, esi
push 0
push eax
push eax
call fcn.004043b0
add esp, 0xc
mov edx, 0x38
push ebx
push ecx
push 0
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
mov eax, dword [edi + 8]
add esp, 4
mov edx, dword [ebp - 8]
mov ecx, esi
push dword [eax + 4]
push dword [ebp - 0xc]
call fcn.00407c40
mov eax, dword [esi]
add esp, 8
mov ecx, dword [ebp - 8]
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov edi, eax
sub edi, dword [esi + 0x1ac]
or edi, 0x40000000
mov byte [eax], 0
inc dword [esi]
call fcn.00405db0
mov ecx, dword [ebp - 0xc]
call fcn.00405db0
jmp 0x4081cd
push 0x7ea
push eax
push str.JIT_ERROR__d__jit.c_line__d__n
call fcn.00401010
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x40861a
int3
push 0xffffffffffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push 1
mov edx, edi
mov ecx, esi
call fcn.00405ef0
add esp, 4
mov edi, eax
mov edx, ebx
mov dword [ebp - 0x10], edi
mov ecx, esi
push 1
call fcn.00405ef0
mov ecx, dword [ebx + 8]
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ecx], 0xb
jne 0x4088bd
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
cmp eax, 0x38
jne 0x40877b
push 0
push edi
push edi
lea edx, [eax - 0x28]
mov ecx, esi
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0x10
mov ecx, esi
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ebx, eax
sub ebx, dword [esi + 0x1ac]
push 0
or ebx, 0x40000000
mov byte [eax], 0
mov eax, dword [ebp - 8]
inc dword [esi]
push eax
push eax
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x30], 5
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esi + 0x1ac]
or ecx, 0x40000000
push 0
mov byte [eax], 0
inc dword [esi]
mov eax, dword [edi + 4]
or eax, 0x40
mov dword [ebp - 0xc], ecx
shl eax, 4
mov ecx, esi
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x30]
push eax
push edi
call fcn.004043b0
add esp, 0xc
mov edx, 0xf
mov ecx, esi
push 0
push dword [ebp - 8]
push edi
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, ebx
mov ecx, esi
mov byte [eax], 0xeb
inc dword [esi]
mov eax, dword [esi]
mov edi, eax
sub edi, dword [esi + 0x1ac]
or edi, 0x40000000
mov byte [eax], 0
inc dword [esi]
call fcn.00405a70
mov eax, dword [ebp - 8]
mov edx, 0x10
push 0
push eax
push eax
mov ecx, esi
call fcn.004043b0
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.00405a70
push dword [ebp + 0x10]
mov edx, 0x38
push ecx
push 0
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
mov edx, dword [ebp - 0xc]
add esp, 4
mov ecx, esi
call fcn.00405a70
mov ecx, dword [ebp - 0x10]
call fcn.00405db0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x39
jne 0x408897
push 0
push edi
push edi
lea edx, [eax - 0x29]
mov ecx, esi
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0x10
mov ecx, esi
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ebx, eax
sub ebx, dword [esi + 0x1ac]
push 0
or ebx, 0x40000000
mov byte [eax], 0
mov eax, dword [ebp - 8]
inc dword [esi]
push eax
push eax
call fcn.004043b0
add esp, 0xc
mov edx, 0x38
push dword [ebp + 0x10]
push ecx
push 0
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
mov eax, dword [edi + 4]
add esp, 4
or eax, 0x40
mov dword [ebp - 0x30], 5
shl eax, 4
xor edx, edx
mov dword [ebp - 0x2c], eax
mov ecx, esi
push 0
lea eax, [ebp - 0x30]
push eax
push edi
call fcn.004043b0
add esp, 0xc
mov edx, 0xf
mov ecx, esi
push 0
push dword [ebp - 8]
push edi
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, ebx
mov ecx, esi
mov byte [eax], 0xeb
inc dword [esi]
mov eax, dword [esi]
mov edi, eax
sub edi, dword [esi + 0x1ac]
or edi, 0x40000000
mov byte [eax], 0
inc dword [esi]
call fcn.00405a70
mov eax, dword [ebp - 8]
mov edx, 0x10
push 0
push eax
push eax
mov ecx, esi
call fcn.004043b0
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.00405a70
push dword [ebp + 0x10]
push ecx
push 0
mov edx, 0x39
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
mov ecx, dword [ebp - 0x10]
add esp, 4
call fcn.00405db0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x810
push eax
push str.JIT_ERROR__d__jit.c_line__d__n
call fcn.00401010
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x4088b5
int3
push 0xffffffffffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov ebx, dword [ebp - 8]
mov edx, 0xf
push 0
push ebx
push edi
mov ecx, esi
call fcn.004043b0
mov eax, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [eax]
cmp eax, 0x38
jne 0x408a90
push dword [ebp + 0x10]
mov edx, eax
push ecx
push 0
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
add esp, 4
mov edx, 0x10
mov ecx, esi
push 0
push edi
push edi
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0x10
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esi + 0x1ac]
or ecx, 0x40000000
push 0
mov dword [ebp - 0xc], ecx
mov ecx, esi
push ebx
mov byte [eax], 0
inc dword [esi]
push ebx
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x30], 5
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esi + 0x1ac]
or ecx, 0x40000000
push 0
mov byte [eax], 0
inc dword [esi]
mov eax, dword [edi + 4]
or eax, 0x40
mov dword [ebp - 0x14], ecx
shl eax, 4
mov ecx, esi
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x30]
push eax
push edi
call fcn.004043b0
add esp, 0xc
mov edx, 0x10
mov ecx, esi
push 0
push edi
push edi
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov dword [ebp - 0x30], 5
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esi + 0x1ac]
or ecx, 0x40000000
mov dword [ebp - 0x18], ecx
mov byte [eax], 0
inc dword [esi]
mov eax, dword [ebx + 4]
or eax, 0x40
shl eax, 4
mov dword [ebp - 0x2c], eax
push 0
lea eax, [ebp - 0x30]
xor edx, edx
push eax
push ebx
mov ecx, esi
call fcn.004043b0
add esp, 0xc
mov edx, 0x10
mov ecx, esi
push 0
push ebx
push ebx
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0xf
mov ecx, esi
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ebx, eax
sub ebx, dword [esi + 0x1ac]
push 0
push dword [ebp - 8]
mov byte [eax], 0
or ebx, 0x40000000
inc dword [esi]
push edi
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0x38
push dword [ebp + 0x10]
mov byte [eax], 0x75
inc dword [esi]
mov eax, dword [esi]
mov edi, eax
sub edi, dword [esi + 0x1ac]
push ecx
push 0
mov byte [eax], 0
mov ecx, esi
inc dword [esi]
or edi, 0x40000000
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
mov edx, dword [ebp - 0xc]
add esp, 4
mov ecx, esi
call fcn.00405a70
mov edx, dword [ebp - 0x14]
mov ecx, esi
call fcn.00405a70
mov edx, dword [ebp - 0x18]
mov ecx, esi
call fcn.00405a70
mov edx, ebx
mov ecx, esi
call fcn.00405a70
mov edx, edi
jmp 0x408c4e
cmp eax, 0x39
jne 0x408c6c
mov eax, dword [esi]
mov edx, 0x10
push 0
push edi
push edi
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esi + 0x1ac]
or ecx, 0x40000000
mov dword [ebp - 0x1c], ecx
mov ecx, esi
mov byte [eax], 0
inc dword [esi]
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0x10
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esi + 0x1ac]
or ecx, 0x40000000
push 0
mov dword [ebp - 0x18], ecx
mov ecx, esi
push ebx
mov byte [eax], 0
inc dword [esi]
push ebx
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x30], 5
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esi + 0x1ac]
or ecx, 0x40000000
push 0
mov byte [eax], 0
inc dword [esi]
mov eax, dword [edi + 4]
or eax, 0x40
mov dword [ebp - 0x14], ecx
shl eax, 4
mov ecx, esi
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x30]
push eax
push edi
call fcn.004043b0
add esp, 0xc
mov edx, 0x10
mov ecx, esi
push 0
push edi
push edi
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov dword [ebp - 0x30], 5
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esi + 0x1ac]
or ecx, 0x40000000
mov dword [ebp - 0xc], ecx
mov byte [eax], 0
inc dword [esi]
mov eax, dword [ebx + 4]
or eax, 0x40
shl eax, 4
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x30]
push 0
push eax
push ebx
xor edx, edx
mov ecx, esi
call fcn.004043b0
add esp, 0xc
mov edx, 0x10
mov ecx, esi
push 0
push ebx
push ebx
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0xf
mov ecx, esi
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov edi, eax
sub edi, dword [esi + 0x1ac]
push 0
push ebx
push dword [ebp - 0x10]
mov byte [eax], 0
or edi, 0x40000000
inc dword [esi]
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, dword [ebp - 0x18]
mov ecx, esi
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ebx, eax
sub ebx, dword [esi + 0x1ac]
or ebx, 0x40000000
mov byte [eax], 0
inc dword [esi]
call fcn.00405a70
mov edx, dword [ebp - 0x14]
mov ecx, esi
call fcn.00405a70
mov edx, dword [ebp - 0xc]
mov ecx, esi
call fcn.00405a70
mov edx, edi
mov ecx, esi
call fcn.00405a70
push dword [ebp + 0x10]
mov edx, 0x3a
push ecx
push 0
mov ecx, esi
call fcn.00407a80
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.00407bf0
mov edx, dword [ebp - 0x1c]
add esp, 4
mov ecx, esi
call fcn.00405a70
mov edx, ebx
mov ecx, esi
call fcn.00405a70
mov ecx, dword [ebp - 0x10]
call fcn.00405db0
mov ecx, dword [ebp - 8]
call fcn.00405db0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x842
push eax
push str.JIT_ERROR__d__jit.c_line__d__n
call fcn.00401010
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x408c8a
int3
push 0xffffffffffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
cmp dword [edi + 4], 1
jne 0x408ca5
push ecx
mov edx, edi
mov ecx, esi
call fcn.00406090
add esp, 4
cmp dword [ebx + 4], 1
jne 0x408cb8
push ecx
mov edx, ebx
mov ecx, esi
call fcn.00406090
add esp, 4
mov edx, dword [ebp + 0xc]
mov ecx, esi
push edx
push ebx
push edi
xor edx, edx
call fcn.00407210
mov ebx, dword [ebp + 0xc]
jmp 0x407f79
mov eax, 1
mov edx, dword [ebx]
mov ecx, esi
push eax
call fcn.00407a80
add esp, 4
lea ecx, [esi + 0x1c4]
mov edi, eax
push 0xc
push ecx
call dword [sym.imp.libhl.dll_hl_malloc]
mov edx, dword [ebp + 0x10]
add esp, 8
mov dword [eax], edi
mov dword [eax + 4], edx
mov ecx, dword [esi + 0x1b8]
mov dword [eax + 8], ecx
mov dword [esi + 0x1b8], eax
test edx, edx
je 0x408e05
mov eax, dword [esi + 0x188]
cmp dword [eax + edx*4], 0
jne 0x408e05
mov dword [eax + edx*4], 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 3
push eax
lea edi, [esi + 8]
mov dword [ebp - 0x24], 0
push edi
mov edx, 0xf
mov dword [ebp - 0x2c], 0xaabbccdd
mov ecx, esi
call fcn.004043b0
mov eax, dword [esi]
add esp, 0xc
mov edx, 0x10
mov ecx, esi
mov byte [eax], 0x74
inc dword [esi]
mov eax, dword [esi]
mov ebx, eax
sub ebx, dword [esi + 0x1ac]
push 0
push edi
mov byte [eax], 0
or ebx, 0x40000000
inc dword [esi]
push edi
call fcn.004043b0
mov eax, dword [ebp - 0x10]
add esp, 0xc
mov eax, dword [eax + 8]
mov eax, dword [eax]
cmp eax, 6
je 0x408da5
cmp eax, 5
je 0x408da5
xor eax, eax
jmp 0x408daa
mov eax, 1
mov edx, dword [ebp + 0xc]
mov ecx, esi
push eax
mov edx, dword [edx]
call fcn.00407a80
add esp, 4
lea ecx, [esi + 0x1c4]
mov edi, eax
push 0xc
push ecx
call dword [sym.imp.libhl.dll_hl_malloc]
mov edx, dword [ebp + 0x10]
add esp, 8
mov dword [eax], edi
mov dword [eax + 4], edx
mov ecx, dword [esi + 0x1b8]
mov dword [eax + 8], ecx
mov dword [esi + 0x1b8], eax
test edx, edx
je 0x408dfc
mov eax, dword [esi + 0x188]
cmp dword [eax + edx*4], 0
jne 0x408dfc
mov dword [eax + edx*4], 0xffffffff
mov edx, ebx
mov ecx, esi
call fcn.00405a70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret