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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xe74
mov eax, dword [0x10050050]
xor eax, esp
mov dword [esp + 0xe70], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x20], edx
test esi, esi
jne 0x10023e83
call fcn.10022410
cmp eax, 0xffffffff
je 0x10023e0c
mov esi, dword [0x10755018]
shl eax, 9
lea ecx, [eax + esi + 0x9da8]
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10023dfd
test dx, dx
je 0x10023df9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10023dfd
add eax, 4
add ecx, 4
test dx, dx
jne 0x10023dd7
xor eax, eax
jmp 0x10023e02
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10023e0c
mov dword [esi + 0x9da4], eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x34]
push ecx
push ebx
call sym.kuao.ime_GetWordLibInformation
add esp, 0x18
push 1
mov ecx, ebx
test eax, eax
je 0x10023e5c
lea edx, [esp + 0x3c]
push edx
lea edx, [esp + 0x60]
call fcn.10023330
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe70]
xor ecx, esp
call fcn.1002656f
mov esp, ebp
pop ebp
ret
push 0x10048fd4
mov edx, 0x10048fdc
call fcn.10023330
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe70]
xor ecx, esp
call fcn.1002656f
mov esp, ebp
pop ebp
ret
mov dword [eax], 0
mov dword [ecx], 0
movzx ecx, word [esi]
xor eax, eax
xor ebx, ebx
test cx, cx
je 0x10023eb3
jmp 0x10023ea0
cmp cx, 0x5c
jne 0x10023ea8
mov ebx, eax
movzx ecx, word [esi + eax*2 + 2]
inc eax
test cx, cx
jne 0x10023ea0
lea eax, [ebx + 1]
push eax
push esi
push 0x104
push edi
call fcn.10026cba
add esp, 0x10
push str.err.log
test ebx, ebx
je 0x10023ede
mov ecx, 0x103
sub ecx, ebx
push ecx
lea edx, [edi + ebx*2 + 2]
push edx
jmp 0x10023ee4
push 0x104
push edi
call fcn.10026c57
add esp, 0xc
push 0x10049114
push edi
call fcn.10027381
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10023f1a
mov word [edi], ax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe70]
xor ecx, esp
call fcn.1002656f
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x10]
push 0x20000
push ebx
call fcn.10029949
add esp, 4
push eax
call fcn.10029c28
push 0xfeff
push 0x10046dc4
push ebx
call fcn.100284a3
add esp, 0x14
push 0x10045d04
push esi
call fcn.10027381
mov edi, eax
add esp, 8
mov dword [esp + 0x24], edi
test edi, edi
jne 0x10023f72
push esi
push 0x10049330
push ebx
call fcn.100284a3
add esp, 0xc
push ebx
jmp 0x10024651
push 0
push 2
push edi
call fcn.100276d0
mov dword [esp + 0x18], 0
mov esi, dword [esp + 0x18]
add esp, 0xc
jmp 0x10023f90
mov eax, 0x400
lea ecx, [esp + 0x278]
mov ebx, edi
call fcn.10015250
test eax, eax
mov ax, word [esp + 0x278]
je 0x10023fcd
inc esi
test ax, ax
je 0x10023f90
cmp ax, 0x23
je 0x10023f90
cmp ax, 0x3b
je 0x10023f90
cmp ax, 0xd
je 0x10023f90
cmp ax, 0xa
je 0x10023f90
test ax, ax
je 0x10024638
push 3
lea ecx, [esp + 0x27c]
push ecx
push 0x10049350
call fcn.1002704a
add esp, 0xc
test eax, eax
jne 0x10024638
lea edx, [esp + 0x27e]
call fcn.100152c0
push edx
lea eax, [esp + 0x5c]
push 0x10
push eax
call fcn.10026c57
add esp, 0xc
mov eax, 0x400
lea ecx, [esp + 0x278]
mov ebx, edi
call fcn.10015250
test eax, eax
mov ax, word [esp + 0x278]
je 0x10024049
inc esi
cmp ax, 0x23
je 0x10024011
cmp ax, 0x3b
je 0x10024011
cmp ax, 0xd
je 0x10024011
cmp ax, 0xa
je 0x10024011
test ax, ax
je 0x10024631
push 3
lea ecx, [esp + 0x27c]
push ecx
push 0x100493a4
call fcn.1002704a
add esp, 0xc
test eax, eax
jne 0x10024631
lea edx, [esp + 0x27e]
call fcn.100152c0
push edx
lea eax, [esp + 0x3c]
push 0x10
push eax
call fcn.10026c57
add esp, 0xc
lea ecx, [ecx]
mov eax, 0x400
lea ecx, [esp + 0x278]
mov ebx, edi
call fcn.10015250
test eax, eax
mov ax, word [esp + 0x278]
je 0x100240c8
inc esi
cmp ax, 0x23
je 0x10024090
cmp ax, 0x3b
je 0x10024090
cmp ax, 0xd
je 0x10024090
cmp ax, 0xa
je 0x10024090
mov dword [esp + 0xc], esi
test ax, ax
je 0x1002462a
push 3
lea ecx, [esp + 0x27c]
push ecx
push 0x100493e8
call fcn.1002704a
add esp, 0xc
test eax, eax
jne 0x1002462a
cmp word [esp + 0x27e], 0x31
mov ecx, dword [esp + 0x18]
sete al
lea edx, [esp + 0x38]
push eax
push edx
lea edx, [esp + 0x60]
call fcn.10023330
add esp, 8
test eax, eax
jne 0x10024145
mov eax, dword [0x10755018]
add eax, 0x9da8
push eax
push 0x10049440
mov esi, dword [esp + 0x18]
push esi
call fcn.100284a3
add esp, 0xc
push edi
call fcn.100277b9
add esp, 4
jmp 0x10024650
call fcn.10022410
mov esi, eax
cmp esi, 0xffffffff
je 0x100241b7
mov ebx, dword [0x10755018]
mov ecx, esi
shl ecx, 9
lea edx, [ecx + ebx + 0x9da8]
mov ecx, dword [esp + 0x18]
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x1002418d
test ax, ax
je 0x10024189
mov ax, word [ecx + 2]
cmp ax, word [edx + 2]
jne 0x1002418d
add ecx, 4
add edx, 4
test ax, ax
jne 0x10024167
xor eax, eax
jmp 0x10024192
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100241b7
cmp dword [ebx + 0x9da0], eax
je 0x100241a9
call fcn.100225b0
mov ebx, dword [0x10755018]
xor eax, eax
mov dword [ebx + 0x9da0], eax
mov dword [ebx + 0x9da4], eax
mov ebx, dword [esp + 0x18]
push 0
push 0x100000
mov ecx, ebx
call fcn.100227f0
add esp, 8
mov ecx, eax
mov dword [esp + 0x14], eax
call fcn.10022580
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x100241ea
push ebx
push 0x1004947c
jmp 0x1002412a
mov eax, 0x400
lea ecx, [esp + 0x278]
mov ebx, edi
call fcn.10015250
test eax, eax
je 0x1002451e
jmp 0x10024210
mov ebx, dword [esp + 0xc]
mov ax, word [esp + 0x278]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
inc ebx
mov dword [esp + 0xc], ebx
test ax, ax
je 0x100244ff
cmp ax, 0x23
je 0x100244ff
cmp ax, 0x3b
je 0x100244ff
cmp ax, 0xd
je 0x100244ff
cmp ax, 0xa
je 0x100244ff
push 0x100
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x280]
push 0x10049184
push eax
call fcn.1002801e
add esp, 0x10
cmp eax, 1
je 0x10024294
push ebx
push 0x1004918c
push esi
call fcn.100284a3
add esp, 0xc
inc dword [edi]
jmp 0x100244ff
push 0x100
lea ecx, [esp + 0xa7c]
push ecx
push 0x100
lea edx, [esp + 0x84]
push edx
lea eax, [esp + 0x288]
push str._s_s
push eax
call fcn.1002801e
add esp, 0x18
cmp eax, 2
je 0x100242de
push ebx
push 0x100491a4
push esi
call fcn.100284a3
add esp, 0xc
inc dword [edi]
jmp 0x100244ff
lea ecx, [esp + 0x30]
push ecx
push 0x100
lea edx, [esp + 0xa80]
push edx
push 0x100
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x28c]
push str._s_s_d
push ecx
call fcn.1002801e
add esp, 0x1c
cmp eax, 3
je 0x1002431f
mov dword [esp + 0x30], 0
push 0
push 0
push 0x20
lea edx, [esp + 0xc84]
lea ecx, [esp + 0xa84]
call fcn.10012990
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1002436b
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xa78]
push edx
push eax
push 0x100491f8
push ecx
call fcn.100284a3
mov eax, dword [esp + 0x2c]
add esp, 0x10
inc dword [eax]
jmp 0x100244ff
lea eax, [esp + 0x78]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10024372
sub eax, edx
sar eax, 1
mov ebx, eax
cmp ebx, edi
jge 0x100243b3
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
push ebx
push edi
lea edx, [esp + 0x80]
push edx
push eax
push 0x10049220
push ecx
call fcn.100284a3
mov eax, dword [esp + 0x34]
add esp, 0x18
inc dword [eax]
jmp 0x100244ff
xor ecx, ecx
test ebx, ebx
jle 0x1002441c
lea esp, [esp]
movzx eax, word [esp + ecx*2 + 0x78]
mov edx, 0x80
cmp ax, dx
jb 0x100243d9
mov edx, 0xd7ff
cmp ax, dx
jbe 0x10024417
mov edx, 0xe000
cmp ax, dx
jb 0x100243ed
mov edx, 0xffef
cmp ax, dx
jbe 0x10024417
cmp eax, 0x20000
jl 0x100243fb
cmp eax, 0x2a6d6
jle 0x10024417
cmp eax, 0x2a700
jl 0x10024409
cmp eax, 0x2b734
jle 0x10024417
cmp eax, 0x2f800
jl 0x1002441c
cmp eax, 0x2fa1d
jg 0x1002441c
inc ecx
cmp ecx, ebx
jl 0x100243c0
cmp ecx, ebx
je 0x10024447
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x78]
push eax
push ecx
push 0x10049264
push edx
call fcn.100284a3
mov eax, dword [esp + 0x2c]
add esp, 0x10
inc dword [eax]
jmp 0x100244ff
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xc7c]
push ecx
push ebx
lea edx, [esp + 0x84]
push edx
push eax
mov eax, edi
call fcn.100230a0
add esp, 0x14
test eax, eax
jne 0x100244d5
mov esi, dword [esp + 0x14]
call fcn.100225b0
call fcn.10022dc0
mov ecx, dword [esp + 0x18]
push 0
push 0x100000
call fcn.100227f0
add esp, 8
mov ecx, eax
mov dword [esp + 0x14], eax
call fcn.10022580
mov dword [esp + 0x2c], eax
test eax, eax
je 0x10024596
mov edx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xc7c]
push eax
push ebx
lea ecx, [esp + 0x84]
push ecx
push edx
mov eax, edi
call fcn.100230a0
add esp, 0x14
test eax, eax
je 0x100245c8
mov eax, dword [esp + 0x28]
inc dword [eax]
cmp dword [esp + 0x20], 0
mov eax, dword [eax]
je 0x100244ff
mov ecx, eax
and ecx, 0x800000ff
jns 0x100244f6
dec ecx
or ecx, 0xffffff00
inc ecx
jne 0x100244ff
push eax
push 0xffffffffffffffff
call dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov eax, 0x400
lea ecx, [esp + 0x278]
mov ebx, edi
call fcn.10015250
test eax, eax
jne 0x10024210
push edi
call fcn.100277b9
mov edx, dword [esp + 0x14]
add esp, 4
push edx
call fcn.100277b9
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x10024545
mov eax, dword [eax + 0x44]
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10024558
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
push ecx
push 0xffffffffffffffff
call eax
mov esi, dword [esp + 0x14]
call fcn.100225b0
call fcn.10022dc0
mov edx, dword [esp + 0x1c]
cmp dword [edx], 0
jne 0x1002457c
mov eax, dword [esp + 0x34]
push eax
call fcn.10029728
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe70]
xor ecx, esp
call fcn.1002656f
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x14]
call fcn.10022dc0
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
push ecx
push 0x100492e8
push esi
call fcn.100284a3
mov edx, dword [esp + 0x30]
add esp, 0xc
push edx
call fcn.100277b9
add esp, 4
jmp 0x10024650
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x78]
push eax
push ecx
push 0x10049498
push edi
call fcn.100284a3
mov edx, dword [esp + 0x28]
push edx
push 0x10049308
push edi
call fcn.100284a3
mov eax, dword [esp + 0x40]
add esp, 0x1c
push eax
call fcn.100277b9
add esp, 4
push edi
call fcn.100277b9
mov esi, dword [esp + 0x18]
add esp, 4
call fcn.10022dc0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe70]
xor ecx, esp
call fcn.1002656f
mov esp, ebp
pop ebp
ret
push 0x100493f0
jmp 0x1002463d
push 0x100493ac
jmp 0x1002463d
push 0x10049358
mov esi, dword [esp + 0x14]
push esi
call fcn.100284a3
push edi
call fcn.100277b9
add esp, 0xc
push esi
call fcn.100277b9
mov ecx, dword [esp + 0xe80]
add esp, 4
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1002656f
mov esp, ebp
pop ebp
ret