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

Disassembly:
sub esp, 0x70c
mov eax, dword [0x347765c8]
xor eax, esp
mov dword [esp + 0x708], eax
fldz
mov edx, dword [0x347efae8]
push ebx
fst dword [esp + 0x30]
xor ebx, ebx
fstp dword [esp + 0x20]
or eax, 0xffffffff
push ebp
mov ebp, dword [esp + 0x71c]
mov dword [esp + 8], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0xf], 1
mov dword [esp + 0x28], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x2c], ebx
mov eax, dword [edx + 0x228]
mov ecx, dword [eax + ebp*4]
mov eax, dword [esp + 0x72c]
cmp eax, ebx
push esi
mov esi, dword [esp + 0x724]
push edi
mov edi, dword [esp + 0x72c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20], 0x400
mov dword [esp + 0x48], ebx
mov dword [esp + 0x64], ecx
je 0x34779e5c
test eax, 0xffff8ff8
jne 0x3477aae6
test eax, 0x1000
je 0x34779e6e
test eax, 0x6000
jne 0x3477aae6
mov ecx, eax
and ecx, 0x2000
mov dword [esp + 0x28], ecx
je 0x34779e87
test eax, 0x4000
jne 0x3477aae6
cmp esi, ebx
je 0x3477aae6
cmp edi, ebx
je 0x3477aae6
mov ecx, dword [edx + 0x198]
lea eax, [esp + 0x1c]
push eax
push ebp
call ecx
cmp eax, ebx
jl 0x3477aaeb
mov edx, dword [esp + 0x1c]
test dl, 1
jne 0x34779ec0
mov eax, 0xffffb1de
jmp 0x3477aaeb
test dl, 0x40
je 0x34779ecf
mov eax, 0xffffb1b6
jmp 0x3477aaeb
test edx, 0x80000
je 0x34779ee1
mov eax, 0xffffb0ab
jmp 0x3477aaeb
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x228]
mov eax, dword [ecx + ebp*4]
test dword [eax + 0xcc], 0x10000
je 0x34779f05
mov eax, 0xffffb1b3
jmp 0x3477aaeb
mov eax, edi
lea esi, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x34779f0d
sub eax, esi
sar eax, 1
cmp eax, 0xff
ja 0x3477aae6
test edx, 0x4000
je 0x34779f37
mov dword [esp + 0x20], 0x401
mov edx, dword [0x347efae8]
mov edi, dword [esp + 0x720]
mov eax, dword [edx + 0x60]
push 0x80400002
push 0x347726d8
lea ecx, [esp + 0x5c]
push ecx
push ebp
push edi
call eax
test eax, eax
jge 0x34779f77
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x108]
push edi
call edx
mov eax, 0xffffb154
jmp 0x3477aaeb
lea eax, [esp + 0xc0]
push eax
push ebp
push edi
call fcn.347ad9c3
cmp eax, ebx
jl 0x3477aaeb
push ebx
push ebx
lea ecx, [esp + 0x58]
push ecx
push ebx
push ebx
lea edx, [esp + 0xd4]
push edx
push ebp
push edi
call fcn.347ad41a
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
lea eax, [esp + 0x24]
push eax
push 4
lea ecx, [esp + 0x20]
push ecx
push 0x19
lea edx, [esp + 0xd0]
push edx
push ebp
push edi
call fcn.347a316f
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
mov eax, dword [esp + 0x734]
test eax, 0xffff00
mov ecx, dword [esp + 0x18]
jne 0x3477a0fe
and ecx, 0xffff00
or eax, ecx
mov dword [esp + 0x734], eax
test eax, 0x6000
je 0x3477a00a
mov dword [esp + 0x730], ebx
cmp dword [esp + 0x50], ebx
je 0x3477a029
lea edx, [esp + 0xc0]
push edx
push ebp
push edi
call fcn.347ae8a0
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x14]
push 0xd
push 4
lea eax, [esp + 0x38]
push eax
push ebp
push edi
call edx
mov esi, eax
cmp esi, 0xfffffc15
jne 0x3477a139
mov dword [esp + 0x30], ebx
mov eax, dword [0x347efae8]
lea esi, [eax + 0xe4]
mov eax, dword [eax + 0x100]
push edi
call eax
mov ecx, dword [esi]
push eax
call ecx
push 4
push ebx
lea edx, [esp + 0x3c]
push edx
push 0x41
push edi
push eax
mov dword [esp + 0x70], eax
call sub.acecore.dll_Ordinal_145
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
push ebx
push 1
push 0x41
push edi
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0x5c], 1
call sub.acecore.dll_Ordinal_176
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
push 0x100
lea ecx, [esp + 0x51c]
push ecx
push ebp
push edi
call fcn.34777f70
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x347efae8]
lea ecx, [esp + 0x520]
push ecx
mov ecx, dword [eax + 8]
push edx
push edi
call ecx
mov esi, eax
cmp esi, ebx
jge 0x3477a155
mov dword [esp + 0x10], 0xffffffff
jmp 0x3477a97d
test ecx, 0x6000
je 0x34779ffc
test ecx, 0x2000
je 0x3477a118
cmp dword [esp + 0x28], ebx
jne 0x3477a127
test ecx, 0x4000
je 0x3477a12f
test eax, 0x4000
je 0x3477a12f
test al, 1
je 0x34779ffc
mov esi, 0xffffb0b4
jmp 0x3477a97d
cmp esi, ebx
jl 0x3477a97d
cmp dword [esp + 0x30], ebx
je 0x3477a051
mov esi, 0xffffb1b4
jmp 0x3477a97d
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0xf8]
lea edx, [esp + 0x6c]
push edx
mov esi, 1
push edi
mov dword [esp + 0x40], esi
call ecx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
mov dword [esp + 0x70], 0xc
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], 0x64
je 0x3477a1a5
push eax
push 5
lea edx, [esp + 0x78]
push edx
push 0xb
push edi
call fcn.347b6ac8
cmp eax, ebx
jl 0x3477aaeb
mov eax, dword [esp + 0x1c]
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x19c]
or eax, 0x10
push eax
push ebp
call edx
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
push ebx
push ebp
push edi
call fcn.3477c910
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
push ebp
push edi
call fcn.34777ff2
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
mov eax, dword [esp + 0x10]
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x160]
push ebx
push ebx
push 0x10000000
push eax
push edi
call edx
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
mov eax, dword [esp + 0x10]
mov edx, dword [0x347efae8]
push ebx
push eax
mov eax, dword [edx + 0x16c]
lea ecx, [esp + 0x520]
push ecx
push edi
call eax
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
mov ecx, dword [esp + 0x10]
mov edx, dword [0x347efae8]
mov eax, dword [edx + 0x19c]
push 0x100010
push ecx
call eax
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
lea ecx, [esp + 0xb0]
push ecx
call fcn.347e069c
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
mov eax, dword [esp + 0x10]
mov ecx, dword [0x347efae8]
push 0x80
push 0xf
push 0x10
lea edx, [esp + 0xbc]
push edx
mov edx, dword [ecx + 0x13c]
push 0x34772864
push ebx
push 0x347712a0
push 0x3477128c
push eax
push edi
call edx
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
mov eax, dword [esp + 0x10]
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x13c]
push 0x80
push 0xa
push 2
push 0x347715e8
push 0x347722e8
push ebx
push 0x347712a0
push 0x3477128c
push eax
push edi
call edx
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
mov ecx, dword [esp + 0x10]
mov edx, dword [0x347efae8]
push 0x80
push 1
push 1
lea eax, [esp + 0x23]
push eax
mov eax, dword [edx + 0x13c]
push 0x34772300
push ebx
push 0x347712a0
push 0x3477128c
push ecx
push edi
call eax
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
push ebx
lea ecx, [esp + 0x84]
push ecx
push ebx
push ebp
push edi
call fcn.347adacb
mov esi, eax
cmp esi, ebx
jge 0x3477a349
cmp esi, 0xffffb1c7
je 0x3477a370
jmp 0x3477a97d
cmp esi, 0xffffb1c7
je 0x3477a370
push ebx
push ebx
push ebx
push 1
push ebx
lea edx, [esp + 0x94]
push edx
push ebp
push edi
call fcn.347b89e4
mov esi, eax
cmp esi, 0xffffb1c4
jne 0x3477a390
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
jmp 0x3477a398
cmp esi, ebx
jne 0x3477a97d
mov ecx, dword [esp + 0x10]
push 0x10
lea eax, [esp + 0x84]
push eax
push 0xd
push ecx
push edi
call fcn.347a3824
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
push 0x418
lea edx, [esp + 0x104]
push ebx
push edx
call sub.msvcr80.dll_memset
mov eax, dword [esp + 0x1c]
and dword [esp + 0x520], 0xfffffffe
add esp, 0xc
lea ecx, [esp + 0x100]
push ecx
push ebp
push edi
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], 0xffffffff
mov dword [esp + 0x114], 1
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov word [esp + 0x120], bx
call fcn.3478f2c5
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
test byte [esp + 0x734], 1
mov dword [esp + 0x108], 1
je 0x3477a4ed
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x28]
push edx
push 0x3477265c
push eax
push edi
mov dword [esp + 0x30], 0xb
mov dword [esp + 0x118], ebx
call fcn.3478f9ef
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
mov ecx, dword [esp + 0x28]
mov edx, dword [0x347efae8]
mov eax, dword [edx + 0x68]
push ecx
push edi
call eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x28]
push ecx
push 0x347726a8
push edx
push edi
call fcn.3478f9ef
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
mov eax, dword [esp + 0x28]
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x68]
push eax
push edi
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x13c]
push 0x80
push 0xa
push 2
push 0x347715e8
push 0x3477243c
push ebx
push 0x347712a0
push 0x3477128c
push eax
push edi
call edx
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
jmp 0x3477a4f1
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x184]
push eax
push edi
call edx
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
lea eax, [esp + 0x70]
push eax
push ebx
push ebx
push 1
lea ecx, [esp + 0x110]
push ecx
push ebp
push edi
call fcn.3478aa33
mov esi, eax
cmp esi, ebx
jl 0x3477a97d
mov ebx, dword [esp + 0x734]
mov eax, dword [esp + 0x1c]
shr ebx, 1
and ebx, 1
test eax, 0x1000
je 0x3477a54d
mov ebx, 1
test al, al
jns 0x3477a556
mov ebx, 1
mov edx, dword [esp + 0x64]
test byte [edx + 0xcc], 4
je 0x3477a56b
or dword [esp + 0x734], 4
push 0
push 0x80
lea eax, [esp + 0x84]
push eax
mov eax, dword [0x347efae8]
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [eax + 0x140]
push 4
lea edx, [esp + 0x50]
push edx
push 0x34772320
push 0
push 0x347712a0
push 0x3477128c
push ebp
push edi
call ecx
mov esi, eax
test esi, esi
jl 0x3477a97d
fld dword [esp + 0x3c]
mov eax, dword [esp + 0x730]
lea edx, [esp + 0x2c]
push edx
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x73c]
fstp dword [esp]
push eax
push ecx
push edx
push ebp
push edi
call fcn.347af640
mov esi, eax
test esi, esi
jl 0x3477a97d
lea eax, [esp + 0xa0]
push eax
push ebp
push edi
call fcn.347ad9c3
mov esi, eax
test esi, esi
jl 0x3477a97d
mov eax, 0x6000
test dword [esp + 0x18], eax
je 0x3477a633
lea ecx, [esp + 0x24]
push ecx
push 0x10
lea edx, [esp + 0x98]
push edx
push 0x1a
lea eax, [esp + 0xb0]
push eax
push ebp
push edi
call fcn.347a316f
mov esi, eax
test esi, esi
jl 0x3477a97d
jmp 0x3477a68a
test dword [esp + 0x734], eax
je 0x3477a676
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
jmp 0x3477a68a
push 0
lea edx, [esp + 0x94]
push 0x10
push edx
call sub.msvcr80.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x734]
fld dword [esp + 0x2c]
mov edx, dword [esp + 0x4c]
mov ebp, eax
and ebp, 0x6000
neg ebp
lea ecx, [esp + 0x90]
sbb ebp, ebp
and ebp, ecx
push ebp
push eax
push ecx
fstp dword [esp]
push edx
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x78]
push eax
mov eax, dword [esp + 0x24]
push 1
push ebx
lea ecx, [esp + 0xcc]
push ecx
push edx
push eax
push eax
push edi
call fcn.34789726
mov esi, eax
test esi, esi
jl 0x3477a97d
test dword [esp + 0x18], 0x6000
jne 0x3477a732
mov eax, dword [esp + 0x734]
fld dword [esp + 0x2c]
push ebp
push eax
push ecx
mov ecx, dword [esp + 0x58]
fstp dword [esp]
push ecx
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x54]
push edx
mov edx, dword [esp + 0x24]
push 1
push ebx
lea eax, [esp + 0xcc]
push eax
mov eax, dword [esp + 0x744]
push ecx
push edx
push eax
push edi
call fcn.34789726
mov esi, eax
test esi, esi
jl 0x3477a97d
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x10]
push ecx
push edx
push edi
call fcn.34779ce4
mov esi, eax
test esi, esi
jl 0x3477a97d
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x724]
push eax
push ecx
push edi
call fcn.34779ce4
mov esi, eax
test esi, esi
jl 0x3477a97d
mov eax, dword [esp + 0x10]
push 0x10
lea edx, [esp + 0xa4]
push edx
push 0x64
push eax
push edi
call fcn.347a3824
mov esi, eax
test esi, esi
jl 0x3477a97d
mov ebx, dword [esp + 0x724]
lea ecx, [esp + 0x24]
push ecx
push 0x10
lea edx, [esp + 0xd8]
push edx
push 0x64
push 0
push ebx
push edi
call fcn.347a316f
cmp eax, 0xfffff1f0
je 0x3477a84d
cmp dword [esp + 0x24], 0
je 0x3477a84d
mov eax, 0x10
mov ecx, 0x34774184
lea edx, [esp + 0xd0]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x3477a7ea
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x3477a7d2
test eax, eax
je 0x3477a847
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x3477a839
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x3477a847
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x3477a839
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x3477a847
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x3477a839
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x3477a847
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x3477a847
test esi, esi
mov eax, 1
jg 0x3477a849
or eax, 0xffffffff
jmp 0x3477a849
xor eax, eax
test eax, eax
jne 0x3477a881
test dword [esp + 0x734], 0x4000
jne 0x3477a881
test dword [esp + 0x18], 0x2000
jne 0x3477a881
push 0x10
lea ecx, [esp + 0xb4]
push ecx
push 0x64
push ebx
push edi
call fcn.347a3824
mov esi, eax
test esi, esi
jl 0x3477a97d
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ecx, dword [0x347efae8]
push edx
mov edx, dword [ecx + 0x19c]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x19c]
push eax
push ebx
call edx
mov eax, dword [esp + 0x10]
push 0
push 0
push 0
push 0
push 1
push 0
push eax
push edi
call fcn.347ba88f
mov esi, eax
test esi, esi
jl 0x3477a97d
test dword [esp + 0x18], 0x6000
jne 0x3477a8f5
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x724]
push ecx
push edx
push edi
call fcn.34778f25
mov esi, eax
test esi, esi
jl 0x3477a97d
mov ebx, dword [esp + 0x734]
and ebx, 1
je 0x3477a912
mov eax, dword [esp + 0x10]
push eax
push edi
call fcn.34777e5b
mov esi, eax
test esi, esi
jl 0x3477a97d
test ebx, ebx
jne 0x3477a92f
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x724]
push ecx
push edx
push edi
call fcn.347aad08
mov esi, eax
test esi, esi
jl 0x3477a97d
mov edx, dword [esp + 0x724]
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x60]
push ecx
push edx
push edi
call fcn.347bd890
mov esi, eax
test esi, esi
jl 0x3477a97d
mov edx, dword [esp + 0x10]
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x64]
push ecx
push edx
push edi
call fcn.347bd890
mov esi, eax
test esi, esi
jl 0x3477a97d
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x60]
je 0x3477a97d
mov esi, 0xffffb0aa
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x724]
mov eax, dword [0x347efae8]
push ecx
mov ecx, dword [eax + 0x19c]
push edx
call ecx
mov edx, dword [esp + 0x54]
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x68]
push edx
push edi
call ecx
test esi, esi
jge 0x3477aa8e
cmp dword [esp + 0x38], 0
je 0x3477aa8e
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x3477a9f1
mov edx, dword [0x347efae8]
push 0
push eax
mov eax, dword [edx + 0x10]
push edi
call eax
test eax, eax
jge 0x3477a9e9
mov ecx, dword [esp + 0x10]
mov edx, dword [0x347efae8]
mov eax, dword [edx + 0x10]
push 1
push ecx
push edi
call eax
mov dword [esp + 0x10], 0xffffffff
mov ebp, dword [esp + 0x40]
push ebp
call fcn.347c0722
cmp esi, 0xfffffbfc
jg 0x3477aa36
je 0x3477aa2f
cmp esi, 0xfffff8ed
je 0x3477aa28
cmp esi, 0xfffffbec
je 0x3477aa4a
cmp esi, 0xfffffbf8
jne 0x3477aae2
mov ebx, 0xffffe020
jmp 0x3477aa56
mov ebx, 0xffffe022
jmp 0x3477aa56
mov ebx, 0xffffe004
jmp 0x3477aa56
cmp esi, 0xfffffc00
je 0x3477aa51
cmp esi, 0xfffffc01
jne 0x3477aae2
mov ebx, 0xffffe01f
jmp 0x3477aa56
mov ebx, 0xffffe021
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x108]
push edi
call edx
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x108]
push edi
call ecx
mov edx, dword [0x347efae8]
mov eax, dword [edx + 0x104]
push 0
push 0
push 0
push ebx
push 0
push 0
push ebp
push edi
call eax
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x3477aaa6
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x10]
push 0
push eax
push edi
call edx
cmp dword [esp + 0x48], 0
je 0x3477aae2
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x1fc]
push 1
push edi
call ecx
mov edx, dword [esp + 0x34]
push 0
push edx
push 0x41
push edi
lea eax, [esp + 0x68]
push eax
call sub.acecore.dll_Ordinal_176
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x1fc]
push 0
push edi
call edx
mov eax, esi
jmp 0x3477aaeb
mov eax, 0xfffffc15
mov ecx, dword [esp + 0x718]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.347ea89f
add esp, 0x70c
ret 0x18