Function at 0x10027a20
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
sub esp, 0x58
mov eax, dword [0x1007d664]
xor eax, esp
mov dword [esp + 0x54], eax
push ebx
push esi
mov esi, dword [esp + 0x64]
xor ebx, ebx
cmp dword [0x10081674], ebx
push edi
je 0x10027c5d
cmp dword [0x10081578], ebx
je 0x10027c5d
push 0xa
lea eax, [esi + 0xc]
push 0x10070f58
push eax
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x10027c5d
mov cl, 0x6e
mov al, 0x61
mov dl, 0x5f
mov byte [esp + 0x15], dl
mov byte [esp + 0x18], al
mov byte [esp + 0x1a], cl
mov byte [esp + 0x1c], cl
mov byte [esp + 0x24], dl
mov byte [esp + 0x28], dl
mov byte [esp + 0x2b], al
mov byte [esp + 0x2f], al
mov byte [esp + 0x30], cl
mov byte [esp + 0x34], cl
mov byte [esp + 0x37], al
mov byte [esp + 0x38], cl
mov byte [esp + 0x3b], al
mov byte [esp + 0x3c], cl
mov byte [esp + 0x3d], dl
mov byte [esp + 0x3f], al
mov al, 0x31
mov byte [esp + 0x43], cl
mov cl, 0x32
mov dl, 0x38
mov byte [esp + 0xc], 5
mov byte [esp + 0xd], bl
mov byte [esp + 0xe], 9
mov byte [esp + 0xf], bl
mov byte [esp + 0x10], bl
mov byte [esp + 0x11], bl
mov byte [esp + 0x12], 0x5a
mov byte [esp + 0x13], 0x53
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x16], 0x54
mov byte [esp + 0x17], 0x72
mov byte [esp + 0x19], 0x69
mov byte [esp + 0x1b], 0x69
mov byte [esp + 0x1d], 0x67
mov byte [esp + 0x1e], 0x45
mov byte [esp + 0x1f], 0x63
mov byte [esp + 0x20], 0x74
mov byte [esp + 0x21], 0x79
mov byte [esp + 0x22], 0x70
mov byte [esp + 0x23], 0x65
mov byte [esp + 0x25], 0x4e
mov byte [esp + 0x26], 0x70
mov byte [esp + 0x27], 0x63
mov byte [esp + 0x29], 0x58
mov byte [esp + 0x2a], 0x69
mov byte [esp + 0x2c], 0x6f
mov byte [esp + 0x2d], 0x43
mov byte [esp + 0x2e], 0x68
mov byte [esp + 0x31], 0x67
mov byte [esp + 0x32], 0x58
mov byte [esp + 0x33], 0x75
mov byte [esp + 0x35], 0x4c
mov byte [esp + 0x36], 0x69
mov byte [esp + 0x39], 0x59
mov byte [esp + 0x3a], 0x75
mov byte [esp + 0x3e], 0x54
mov byte [esp + 0x40], 0x6c
mov byte [esp + 0x41], 0x6b
mov byte [esp + 0x42], 0x69
mov byte [esp + 0x44], 0x67
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], 3
mov byte [esp + 0x47], al
mov byte [esp + 0x48], bl
mov byte [esp + 0x49], al
mov byte [esp + 0x4a], bl
mov byte [esp + 0x4b], cl
mov byte [esp + 0x4c], bl
mov byte [esp + 0x4d], cl
mov byte [esp + 0x4e], 0x33
mov byte [esp + 0x4f], 0x34
mov byte [esp + 0x50], 0x33
mov byte [esp + 0x51], cl
mov byte [esp + 0x52], dl
mov byte [esp + 0x53], 0x39
mov byte [esp + 0x54], bl
mov byte [esp + 0x55], al
mov byte [esp + 0x56], 0x34
push str.Talking
add esi, 0x220
push esi
mov byte [esp + 0x5f], dl
mov byte [esp + 0x60], 0x35
mov byte [esp + 0x61], bl
mov byte [esp + 0x62], al
mov byte [esp + 0x63], 0x37
mov byte [esp + 0x64], 0x39
mov byte [esp + 0x65], bl
mov byte [esp + 0x66], bl
call fcn.1002f860
add esp, 8
cmp eax, ebx
je 0x10027c44
lea esi, [eax + 8]
mov ecx, 5
lea edi, [esp + 0x47]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor ecx, ecx
lea ebx, [ebx]
mov al, byte [esp + ecx + 0x47]
cmp al, 0x39
ja 0x10027c2c
cmp al, 0x30
jae 0x10027c30
mov byte [esp + ecx + 0x47], bl
add ecx, 1
cmp ecx, 0x17
jb 0x10027c20
push 0x53
lea ecx, [esp + 0x10]
push ecx
call fcn.10001270
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
cmp dword [0x10082020], ebx
je 0x10027e34
push 4
lea edi, [esi + 0x25]
push 0x10070f48
push edi
call fcn.1002e672
add esp, 0xc
test eax, eax
je 0x10027cd4
push 4
push 0x10070f40
push edi
call fcn.1002e672
add esp, 0xc
test eax, eax
je 0x10027cd4
push 4
push 0x10070f38
push edi
call fcn.1002e672
add esp, 0xc
test eax, eax
je 0x10027cd4
push 4
push 0x10070f30
push edi
call fcn.1002e672
add esp, 0xc
test eax, eax
je 0x10027cd4
push 4
push 0x10070f28
push edi
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x10027e34
mov al, 0x31
mov cl, 0x32
mov dl, 0x5f
push str.TalkTo
add esi, 0x80
push esi
mov byte [esp + 0x14], 5
mov byte [esp + 0x15], bl
mov byte [esp + 0x16], 9
mov byte [esp + 0x17], bl
mov byte [esp + 0x18], bl
mov byte [esp + 0x19], bl
mov byte [esp + 0x1a], 0x54
mov byte [esp + 0x1b], al
mov byte [esp + 0x1c], 0x35
mov byte [esp + 0x1d], 0x33
mov byte [esp + 0x1e], cl
mov byte [esp + 0x1f], dl
mov byte [esp + 0x20], 0x43
mov byte [esp + 0x21], 0x6f
mov byte [esp + 0x22], 0x6d
mov byte [esp + 0x23], 0x69
mov byte [esp + 0x24], 0x74
mov byte [esp + 0x25], 0x79
mov byte [esp + 0x26], 0x45
mov byte [esp + 0x27], 0x63
mov byte [esp + 0x28], 0x74
mov byte [esp + 0x29], 0x79
mov byte [esp + 0x2a], 0x70
mov byte [esp + 0x2b], 0x65
mov byte [esp + 0x2c], dl
mov byte [esp + 0x2d], 0x54
mov byte [esp + 0x2e], 0x61
mov byte [esp + 0x2f], 0x6c
mov byte [esp + 0x30], 0x6b
mov byte [esp + 0x31], 0x54
mov byte [esp + 0x32], 0x6f
mov byte [esp + 0x33], 0x45
mov byte [esp + 0x34], 0x63
mov byte [esp + 0x35], 0x74
mov byte [esp + 0x36], 0x79
mov byte [esp + 0x37], 0x70
mov byte [esp + 0x38], 0x65
mov byte [esp + 0x39], 0x4e
mov byte [esp + 0x3a], 0x50
mov byte [esp + 0x3b], 0x43
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], 2
mov byte [esp + 0x3e], al
mov byte [esp + 0x3f], bl
mov byte [esp + 0x40], 0x33
mov byte [esp + 0x41], bl
mov byte [esp + 0x42], cl
mov byte [esp + 0x43], bl
mov byte [esp + 0x44], al
mov byte [esp + 0x45], cl
mov byte [esp + 0x46], 0x35
mov byte [esp + 0x47], 0x30
mov byte [esp + 0x48], 0x30
mov byte [esp + 0x49], 0x30
mov byte [esp + 0x4a], al
mov byte [esp + 0x4b], bl
call fcn.1002f860
add esp, 8
cmp eax, ebx
je 0x10027e1b
mov edx, dword [eax + 0x16]
mov dword [esp + 0x3c], edx
mov cx, word [eax + 0x1a]
mov word [esp + 0x40], cx
mov dl, byte [eax + 0x1c]
push 0x38
lea eax, [esp + 0x10]
push eax
mov byte [esp + 0x4a], dl
call fcn.10001270
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
cmp dword [0x10082000], ebx
je 0x10027f92
push 4
lea ecx, [esi + 0xc]
push 0x10070f18
push ecx
call fcn.1002e672
add esp, 0xc
test eax, eax
je 0x10027c44
push 2
lea edi, [esi + 0x5e]
push 0x10070f14
push edi
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x10027e91
push ebx
call fcn.100277b0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
push 2
push 0x10070f10
push edi
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x10027ec5
push 1
call fcn.100277b0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
push 2
push 0x10070f0c
push edi
call fcn.1002e672
add esp, 0xc
test eax, eax
push 2
je 0x10027e73
push 0x10070f08
push edi
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x10027f0d
push 3
call fcn.100277b0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
push 2
push 0x10070f04
push edi
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x10027f41
push 4
call fcn.100277b0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
push 2
lea edx, [esi + 0x10]
push 0x10070f00
push edx
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x10027f92
push 4
push 0x10081fc0
add esi, 0x53
push esi
call fcn.1002e672
add esp, 0xc
neg eax
sbb eax, eax
neg eax
pop edi
add eax, 1
pop esi
mov dword [0x10082008], eax
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
cmp dword [0x10081dc4], ebx
je 0x10028390
push 0xe
lea eax, [esi + 0x46]
push 0x10070ef0
push eax
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x10027fbc
mov edi, 1
jmp 0x10028018
push 0xe
lea ecx, [esi + 0x48]
push 0x10070ef0
push ecx
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x10027fda
mov edi, 2
jmp 0x10028018
push 0xe
lea edx, [esi + 0x4a]
push 0x10070ef0
push edx
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x10027ff8
mov edi, 3
jmp 0x10028018
push 0xe
lea eax, [esi + 0x4c]
push 0x10070ef0
push eax
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x10028321
mov edi, 4
lea ecx, [esi + 0xb0]
push 0x10070ee4
push ecx
call fcn.1002f860
add esp, 8
test eax, eax
je 0x10028500
cmp byte [esi + edi*2 + 0x75], 0x30
jle 0x10028308
cmp byte [0x10081e40], bl
mov byte [esp + 0xc], 5
mov byte [esp + 0xd], bl
mov byte [esp + 0xe], 9
mov byte [esp + 0xf], bl
mov byte [esp + 0x10], bl
mov byte [esp + 0x11], bl
je 0x10028203
mov dl, 0x5f
mov al, 0x61
mov cl, 0x32
mov byte [esp + 0x15], dl
mov byte [esp + 0x1d], dl
mov byte [esp + 0x1f], al
mov byte [esp + 0x21], dl
mov dl, 0x38
mov byte [esp + 0x23], al
mov al, 0x31
push str.YRB_Qicheng
add esi, 0x180
push esi
mov byte [esp + 0x1a], 0x59
mov byte [esp + 0x1b], 0x52
mov byte [esp + 0x1c], 0x42
mov byte [esp + 0x1e], 0x51
mov byte [esp + 0x1f], 0x69
mov byte [esp + 0x20], 0x63
mov byte [esp + 0x21], 0x68
mov byte [esp + 0x22], 0x65
mov byte [esp + 0x23], 0x6e
mov byte [esp + 0x24], 0x67
mov byte [esp + 0x26], 0x45
mov byte [esp + 0x28], 0x74
mov byte [esp + 0x2a], 0x44
mov byte [esp + 0x2c], 0x64
mov byte [esp + 0x2d], 0x6f
mov byte [esp + 0x2e], 0x75
mov byte [esp + 0x2f], bl
mov byte [esp + 0x30], 4
mov byte [esp + 0x31], al
mov byte [esp + 0x32], 0x30
mov byte [esp + 0x33], 0x30
mov byte [esp + 0x34], al
mov byte [esp + 0x35], bl
mov byte [esp + 0x36], cl
mov byte [esp + 0x37], 0x30
mov byte [esp + 0x38], cl
mov byte [esp + 0x39], 0x35
mov byte [esp + 0x3a], 0x30
mov byte [esp + 0x3b], 0x36
mov byte [esp + 0x3c], cl
mov byte [esp + 0x3d], dl
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3f], al
mov byte [esp + 0x40], 0x30
mov byte [esp + 0x41], 0x30
mov byte [esp + 0x42], cl
mov byte [esp + 0x43], bl
mov byte [esp + 0x44], 0x34
mov byte [esp + 0x45], 0x37
mov byte [esp + 0x46], 0x34
mov byte [esp + 0x47], 0x30
mov byte [esp + 0x48], 0x39
mov byte [esp + 0x49], bl
mov byte [esp + 0x4a], al
mov byte [esp + 0x4b], bl
mov byte [esp + 0x4c], cl
mov byte [esp + 0x4d], bl
mov byte [esp + 0x4e], al
mov byte [esp + 0x4f], dl
mov byte [esp + 0x50], 0x39
mov byte [esp + 0x51], dl
mov byte [esp + 0x52], bl
mov byte [esp + 0x53], 0x37
mov byte [esp + 0x54], bl
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], bl
mov byte [esp + 0x57], bl
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], bl
mov byte [esp + 0x5a], bl
mov byte [esp + 0x5b], bl
call fcn.1002f860
add esp, 8
cmp eax, ebx
je 0x100281c0
lea esi, [eax + 0x16]
mov ecx, 0xa
lea edi, [esp + 0x29]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov al, byte [esp + ecx + 0x29]
cmp al, 0x39
ja 0x100281d2
cmp al, 0x30
jae 0x100281d6
cmp al, 0x2d
je 0x100281d6
mov byte [esp + ecx + 0x29], bl
add ecx, 1
cmp ecx, 0x2b
jl 0x100281c2
push 0x48
lea edx, [esp + 0x10]
push edx
call fcn.10001270
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
mov al, 0x31
mov cl, 0x32
push str.CHouseEatM
add esi, 0x160
push esi
mov byte [esp + 0x1a], 0x43
mov byte [esp + 0x1b], 0x48
mov byte [esp + 0x1c], 0x6f
mov byte [esp + 0x1d], 0x75
mov byte [esp + 0x1e], 0x73
mov byte [esp + 0x1f], 0x65
mov byte [esp + 0x20], 0x45
mov byte [esp + 0x21], 0x61
mov byte [esp + 0x22], 0x74
mov byte [esp + 0x23], 0x4d
mov byte [esp + 0x24], 0x75
mov byte [esp + 0x25], 0x6c
mov byte [esp + 0x26], 0x74
mov byte [esp + 0x27], 0x69
mov byte [esp + 0x28], 0x53
mov byte [esp + 0x29], 0x6f
mov byte [esp + 0x2a], 0x79
mov byte [esp + 0x2b], bl
mov byte [esp + 0x2c], 2
mov byte [esp + 0x2d], al
mov byte [esp + 0x2e], bl
mov byte [esp + 0x2f], al
mov byte [esp + 0x30], bl
mov byte [esp + 0x31], cl
mov byte [esp + 0x32], cl
mov byte [esp + 0x33], al
mov byte [esp + 0x34], 0x30
mov byte [esp + 0x35], bl
mov byte [esp + 0x36], 0x37
mov byte [esp + 0x37], 0x30
mov byte [esp + 0x38], 0x36
mov byte [esp + 0x39], bl
mov byte [esp + 0x3a], bl
mov byte [esp + 0x3b], bl
mov byte [esp + 0x3c], bl
call fcn.1002f860
add esp, 8
cmp eax, ebx
je 0x100282dd
mov ecx, dword [eax + 0x12]
mov dword [esp + 0x25], ecx
mov edx, dword [eax + 0x16]
mov dword [esp + 0x29], edx
mov ecx, dword [eax + 0x1a]
mov dword [esp + 0x2d], ecx
mov edx, dword [eax + 0x1e]
mov dword [esp + 0x31], edx
xor ecx, ecx
nop
mov al, byte [esp + ecx + 0x25]
cmp al, 0x39
ja 0x100282f0
cmp al, 0x30
jae 0x100282f4
cmp al, 0x2d
je 0x100282f4
mov byte [esp + ecx + 0x25], bl
add ecx, 1
cmp ecx, 0x10
jl 0x100282e0
push 0x29
lea eax, [esp + 0x10]
push eax
call fcn.10001270
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
push 0x10
lea ecx, [esi + 0x7a]
push 0x10070eb8
push ecx
call fcn.1002e672
add esp, 0xc
test eax, eax
je 0x10027c44
push 0x10
lea edx, [esi + 0x7c]
push 0x10070eb8
push edx
call fcn.1002e672
add esp, 0xc
test eax, eax
je 0x10027c44
push 0x10
lea eax, [esi + 0x7e]
push 0x10070eb8
push eax
call fcn.1002e672
add esp, 0xc
test eax, eax
je 0x10027c44
push 0x10
lea ecx, [esi + 0x80]
push 0x10070eb8
push ecx
call fcn.1002e672
add esp, 0xc
test eax, eax
je 0x10027c44
cmp dword [0x1008203c], ebx
je 0x10028500
cmp dword [0x10082030], ebx
je 0x10028500
push 8
lea edi, [esi + 0x21]
push 0x10070eac
push edi
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x100284ce
mov dl, byte [esi + 0x74]
mov cl, byte [esi + 0x73]
mov al, byte [esi + 0x75]
sub dl, 0x30
sub cl, 0x30
cmp al, 0x39
movsx edx, dl
jg 0x10028446
movsx ecx, cl
sub al, 0x30
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*2]
movsx edx, al
mov al, byte [esi + 0xa1]
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*2]
mov cl, byte [esi + 0xa2]
mov dl, byte [esi + 0xa3]
sub al, 0x30
sub cl, 0x30
cmp dl, 0x39
movsx eax, al
jg 0x1002841d
movsx ecx, cl
lea eax, [eax + eax*4]
sub dl, 0x30
lea eax, [ecx + eax*2]
jmp 0x100284a5
lea edx, [eax + eax*4]
movsx eax, cl
lea eax, [eax + edx*2]
push eax
push edi
call fcn.10019920
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
movsx eax, cl
lea ecx, [eax + eax*4]
mov al, byte [esi + 0xa2]
lea edi, [edx + ecx*2]
mov cl, byte [esi + 0xa0]
mov dl, byte [esi + 0xa1]
sub cl, 0x30
sub dl, 0x30
cmp al, 0x39
jg 0x100284a2
movsx ecx, cl
movsx edx, dl
lea ecx, [ecx + ecx*4]
sub al, 0x30
lea ecx, [edx + ecx*2]
movsx edx, al
lea ecx, [ecx + ecx*4]
lea eax, [edx + ecx*2]
push eax
push edi
call fcn.10019920
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
movsx eax, cl
movsx ecx, dl
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
push eax
push edi
call fcn.10019920
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
push 8
push 0x10070ea0
push edi
call fcn.1002e672
add esp, 0xc
test eax, eax
jne 0x10028500
call fcn.100257e0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eae3
add esp, 0x58
ret 4
mov ecx, dword [esp + 0x60]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1002eae3
add esp, 0x58
ret 4