Function at 0x140002190
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
mov eax, 0x5068
call fcn.1400035c0
sub rsp, rax
mov rax, qword [0x1400245c0]
xor rax, rsp
mov qword [rsp + 0x5050], rax
xor ecx, ecx
call fcn.140006a20
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x6c
lea rcx, [0x1400250b0]
call section..text
mov r9d, 1
mov r8d, 3
lea rdx, [0x140024120]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 2
mov r8d, 6
lea rdx, str.C_BOOL
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 3
mov r8d, 4
lea rdx, str.C_U8
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 4
mov r8d, 5
lea rdx, str.C_U16
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 5
mov r8d, 5
lea rdx, str.C_U32
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 6
mov r8d, 5
lea rdx, str.C_U64
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 7
mov r8d, 6
lea rdx, str.C_ADDR
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 8
mov r8d, 6
lea rdx, str.C_CHAR
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 9
mov r8d, 4
lea rdx, str.C_I8
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0xa
mov r8d, 5
lea rdx, str.C_I16
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0xb
mov r8d, 5
lea rdx, str.C_I32
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0xc
mov r8d, 5
lea rdx, str.C_I64
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0xd
mov r8d, 8
lea rdx, str.C_DOUBLE
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0xe
mov r8d, 7
lea rdx, str.C_FLOAT
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0xf
mov r8d, 2
lea rdx, [0x140024198]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x10
mov r8d, 2
lea rdx, [0x14002419c]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x11
mov r8d, 2
lea rdx, [0x1400241a0]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x12
mov r8d, 2
lea rdx, [0x1400241a4]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x13
mov r8d, 2
lea rdx, [0x1400241a8]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x14
mov r8d, 2
lea rdx, [0x1400241ac]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x15
mov r8d, 3
lea rdx, [0x1400241b0]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x16
mov r8d, 3
lea rdx, [0x1400241b4]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x17
mov r8d, 3
lea rdx, [0x1400241b8]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x18
mov r8d, 3
lea rdx, [0x1400241bc]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x19
mov r8d, 3
lea rdx, [0x1400241c0]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x1a
mov r8d, 3
lea rdx, [0x1400241c4]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x1b
mov r8d, 3
lea rdx, [0x1400241c8]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x1c
mov r8d, 3
lea rdx, [0x1400241cc]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x1d
mov r8d, 3
lea rdx, [0x1400241d0]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x1e
mov r8d, 3
lea rdx, [0x1400241d4]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x1f
mov r8d, 3
lea rdx, [0x1400241d8]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x20
mov r8d, 4
lea rdx, str.SEXT
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x21
mov r8d, 4
lea rdx, str.ZEXT
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x22
mov r8d, 5
lea rdx, str.TRUNC
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x23
mov r8d, 7
lea rdx, str.BITCAST
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x24
mov r8d, 6
lea rdx, str.INT2FP
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x25
mov r8d, 6
lea rdx, str.FP2INT
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x26
mov r8d, 5
lea rdx, str.FP2FP
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x27
mov r8d, 5
lea rdx, str.PROTO
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x28
mov r8d, 6
lea rdx, str.ADD_OV
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x29
mov r8d, 6
lea rdx, str.SUB_OV
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x2a
mov r8d, 6
lea rdx, str.MUL_OV
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x2b
mov r8d, 8
lea rdx, str.OVERFLOW
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x2c
mov r8d, 3
lea rdx, [0x140024244]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x2d
mov r8d, 2
lea rdx, [0x140024248]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x2e
mov r8d, 3
lea rdx, [0x14002424c]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x2f
mov r8d, 3
lea rdx, [0x140024250]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x30
mov r8d, 3
lea rdx, [0x140024254]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x31
mov r8d, 3
lea rdx, [0x140024258]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x32
mov r8d, 3
lea rdx, [0x14002425c]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x33
mov r8d, 3
lea rdx, [0x140024260]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x34
mov r8d, 3
lea rdx, [0x140024264]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x35
mov r8d, 5
lea rdx, str.BSWAP
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x36
mov r8d, 5
lea rdx, str.CTPOP
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x37
mov r8d, 4
lea rdx, str.CTLZ
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x38
mov r8d, 4
lea rdx, str.CTTZ
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x39
mov r8d, 3
lea rdx, [0x140024288]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x3a
mov r8d, 3
lea rdx, [0x14002428c]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x3b
mov r8d, 4
lea rdx, str.COND
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x3c
mov r8d, 3
lea rdx, [0x140024298]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x3d
mov r8d, 4
lea rdx, str.COPY
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x3e
mov r8d, 2
lea rdx, [0x1400242a4]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x3f
mov r8d, 0xa
lea rdx, str.FRAME_ADDR
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x40
mov r8d, 5
lea rdx, str.PARAM
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x41
mov r8d, 3
lea rdx, [0x1400242bc]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x42
mov r8d, 9
lea rdx, str.FUNC_ADDR
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x43
mov r8d, 4
lea rdx, str.FUNC
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x44
mov r8d, 3
lea rdx, [0x1400242d4]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x45
mov r8d, 3
lea rdx, [0x1400242d8]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x46
mov r8d, 4
lea rdx, str.CALL
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x47
mov r8d, 8
lea rdx, str.TAILCALL
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x48
mov r8d, 6
lea rdx, str.ALLOCA
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x49
mov r8d, 5
lea rdx, str.AFREE
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x4a
mov r8d, 0xb
lea rdx, str.BLOCK_BEGIN
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x4b
mov r8d, 9
lea rdx, str.BLOCK_END
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x4c
mov r8d, 5
lea rdx, str.VADDR
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x4d
mov r8d, 5
lea rdx, str.VLOAD
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x4e
mov r8d, 6
lea rdx, str.VSTORE
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x4f
mov r8d, 5
lea rdx, str.RLOAD
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x50
mov r8d, 6
lea rdx, str.RSTORE
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x51
mov r8d, 4
lea rdx, str.LOAD
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x52
mov r8d, 5
lea rdx, str.STORE
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x53
mov r8d, 3
lea rdx, [0x14002435c]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x54
mov r8d, 4
lea rdx, str.TRAP
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x55
mov r8d, 8
lea rdx, str.VA_START
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x56
mov r8d, 6
lea rdx, str.VA_END
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x57
mov r8d, 7
lea rdx, str.VA_COPY
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x58
mov r8d, 6
lea rdx, str.VA_ARG
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x59
mov r8d, 5
lea rdx, str.GUARD
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x5a
mov r8d, 9
lea rdx, str.GUARD_NOT
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x5b
mov r8d, 8
lea rdx, str.SNAPSHOT
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x5c
mov r8d, 5
lea rdx, str.START
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x5d
mov r8d, 5
lea rdx, str.ENTRY
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x5e
mov r8d, 5
lea rdx, str.BEGIN
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x5f
mov r8d, 7
lea rdx, str.IF_TRUE
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x60
mov r8d, 8
lea rdx, str.IF_FALSE
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x61
mov r8d, 8
lea rdx, str.CASE_VAL
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x62
mov r8d, 0xc
lea rdx, str.CASE_DEFAULT
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x63
mov r8d, 5
lea rdx, str.MERGE
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x64
mov r8d, 0xa
lea rdx, str.LOOP_BEGIN
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x65
mov r8d, 3
lea rdx, [0x14002441c]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x66
mov r8d, 8
lea rdx, str.LOOP_END
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x67
mov r8d, 2
lea rdx, [0x14002442c]
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x68
mov r8d, 6
lea rdx, str.SWITCH
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x69
mov r8d, 6
lea rdx, str.RETURN
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x6a
mov r8d, 4
lea rdx, str.IJMP
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x6b
mov r8d, 0xb
lea rdx, str.UNREACHABLE
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0x6c
mov r8d, 8
lea rdx, str.EXITCALL
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 0xc
mov r8d, 8
lea rdx, str.C_INTPTR
lea rcx, [0x1400250b0]
call fcn.140001110
mov r9d, 6
mov r8d, 9
lea rdx, str.C_UINTPTR
lea rcx, [0x1400250b0]
call fcn.140001110
nop
mov r8, qword [rsp + 0x40]
mov edx, 0xfff
lea rcx, [rsp + 0x4050]
call fcn.140006c1c
test rax, rax
je 0x1400030b7
lea rcx, [rsp + 0x4050]
call fcn.140008c90
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jbe 0x140002fdd
mov rax, qword [rsp + 0x30]
movsx eax, byte [rsp + rax + 0x404f]
cmp eax, 0xd
je 0x140002f99
mov rax, qword [rsp + 0x30]
movsx eax, byte [rsp + rax + 0x404f]
cmp eax, 0xa
jne 0x140002fdd
mov rax, qword [rsp + 0x30]
dec rax
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0x1000
jae 0x140002fb3
jmp 0x140002fb9
call fcn.140003390
nop
mov rax, qword [rsp + 0x38]
mov byte [rsp + rax + 0x4050], 0
mov rax, qword [rsp + 0x30]
dec rax
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
cmp qword [rsp + 0x30], 8
jb 0x1400030b2
mov r8d, 8
lea rdx, str.IR_FOLD_
lea rcx, [rsp + 0x4050]
call fcn.1400178c0
test eax, eax
jne 0x1400030b2
cmp dword [rsp + 0x20], 0x800
jl 0x140003038
mov ecx, 2
call fcn.140006a20
lea rdx, str.ERROR:_Too_many_rules_n
mov rcx, rax
call fcn.1400031e0
mov eax, 1
jmp 0x140003161
lea rcx, [rsp + 0x4050]
call fcn.140001d20
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x140003080
mov ecx, 2
call fcn.140006a20
mov r9d, dword [rsp + 0x28]
lea r8, [rsp + 0x4050]
lea rdx, str.ERROR:_Incorrect__s_rule_on_line__d_n
mov rcx, rax
call fcn.1400031e0
mov eax, 1
jmp 0x140003161
movsxd rax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x28]
mov dword [rsp + rax*4 + 0x50], ecx
mov eax, dword [rsp + 0x20]
shl eax, 0x15
mov ecx, dword [rsp + 0x24]
or ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x20]
mov dword [rsp + rcx*4 + 0x2050], eax
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
jmp 0x140002f3b
lea rcx, [0x1400250b0]
call fcn.140001620
lea rcx, str.__This_file_is_generated_from__ir_fold.h_._Do_not_edit____n_n
call fcn.140003230
lea rcx, str.typedef_enum__ir_fold_rule_id__n
call fcn.140003230
nop
mov dword [rsp + 0x24], 0
jmp 0x1400030f0
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x20]
cmp dword [rsp + 0x24], eax
jge 0x140003112
movsxd rax, dword [rsp + 0x24]
mov edx, dword [rsp + rax*4 + 0x50]
lea rcx, str._tIR_RULE__d__n
call fcn.140003230
nop
jmp 0x1400030e6
lea rcx, str._t_IR_RULE_LAST_n
call fcn.140003230
lea rcx, str._ir_fold_rule_id__n_n
call fcn.140003230
mov edx, dword [rsp + 0x20]
lea rcx, [rsp + 0x2050]
call fcn.140001ac0
test eax, eax
jne 0x14000315f
mov ecx, 2
call fcn.140006a20
lea rdx, str.ERROR:_Cannot_find_a_good_hash_function_n
mov rcx, rax
call fcn.1400031e0
mov eax, 1
jmp 0x140003161
xor eax, eax
mov rcx, qword [rsp + 0x5050]
xor rcx, rsp
call fcn.140003620
add rsp, 0x5068
ret