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

Disassembly:
sub esp, 0x58
mov eax, dword [0x1007a6b4]
xor eax, esp
mov dword [esp + 0x54], eax
push ebx
push esi
mov esi, dword [esp + 0x64]
xor ebx, ebx
cmp dword [0x1007e6ec], ebx
push edi
je 0x1002784d
cmp dword [0x1007e5f0], ebx
je 0x1002784d
push 0xa
lea eax, [esi + 0xc]
push 0x1006e8d0
push eax
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x1002784d
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.1002f4d0
add esp, 8
cmp eax, ebx
je 0x10027834
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 0x1002781c
cmp al, 0x30
jae 0x10027820
mov byte [esp + ecx + 0x47], bl
add ecx, 1
cmp ecx, 0x17
jb 0x10027810
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.1002e6c3
add esp, 0x58
ret 4
cmp dword [0x1007efe0], ebx
je 0x10027a24
push 4
lea edi, [esi + 0x25]
push 0x1006e8c0
push edi
call fcn.1002e252
add esp, 0xc
test eax, eax
je 0x100278c4
push 4
push 0x1006e8b8
push edi
call fcn.1002e252
add esp, 0xc
test eax, eax
je 0x100278c4
push 4
push 0x1006e8b0
push edi
call fcn.1002e252
add esp, 0xc
test eax, eax
je 0x100278c4
push 4
push 0x1006e8a8
push edi
call fcn.1002e252
add esp, 0xc
test eax, eax
je 0x100278c4
push 4
push 0x1006e8a0
push edi
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x10027a24
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.1002f4d0
add esp, 8
cmp eax, ebx
je 0x10027a0b
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.1002e6c3
add esp, 0x58
ret 4
cmp dword [0x1007efc0], ebx
je 0x10027b82
push 4
lea ecx, [esi + 0xc]
push 0x1006e890
push ecx
call fcn.1002e252
add esp, 0xc
test eax, eax
je 0x10027834
push 2
lea edi, [esi + 0x5e]
push 0x1006e88c
push edi
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x10027a81
push ebx
call fcn.100273a0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e6c3
add esp, 0x58
ret 4
push 2
push 0x1006e888
push edi
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x10027ab5
push 1
call fcn.100273a0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e6c3
add esp, 0x58
ret 4
push 2
push 0x1006e884
push edi
call fcn.1002e252
add esp, 0xc
test eax, eax
push 2
je 0x10027a63
push 0x1006e880
push edi
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x10027afd
push 3
call fcn.100273a0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e6c3
add esp, 0x58
ret 4
push 2
push 0x1006e87c
push edi
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x10027b31
push 4
call fcn.100273a0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e6c3
add esp, 0x58
ret 4
push 2
lea edx, [esi + 0x10]
push 0x1006e878
push edx
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x10027b82
push 4
push 0x1007ef80
add esi, 0x53
push esi
call fcn.1002e252
add esp, 0xc
neg eax
sbb eax, eax
neg eax
pop edi
add eax, 1
pop esi
mov dword [0x1007efc8], eax
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e6c3
add esp, 0x58
ret 4
cmp dword [0x1007ed84], ebx
je 0x10027f80
push 0xe
lea eax, [esi + 0x46]
push 0x1006e868
push eax
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x10027bac
mov edi, 1
jmp 0x10027c08
push 0xe
lea ecx, [esi + 0x48]
push 0x1006e868
push ecx
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x10027bca
mov edi, 2
jmp 0x10027c08
push 0xe
lea edx, [esi + 0x4a]
push 0x1006e868
push edx
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x10027be8
mov edi, 3
jmp 0x10027c08
push 0xe
lea eax, [esi + 0x4c]
push 0x1006e868
push eax
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x10027f11
mov edi, 4
lea ecx, [esi + 0xb0]
push 0x1006e85c
push ecx
call fcn.1002f4d0
add esp, 8
test eax, eax
je 0x100280f0
cmp byte [esi + edi*2 + 0x75], 0x30
jle 0x10027ef8
cmp byte [0x1007ee00], 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 0x10027df3
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.1002f4d0
add esp, 8
cmp eax, ebx
je 0x10027db0
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 0x10027dc2
cmp al, 0x30
jae 0x10027dc6
cmp al, 0x2d
je 0x10027dc6
mov byte [esp + ecx + 0x29], bl
add ecx, 1
cmp ecx, 0x2b
jl 0x10027db2
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.1002e6c3
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.1002f4d0
add esp, 8
cmp eax, ebx
je 0x10027ecd
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 0x10027ee0
cmp al, 0x30
jae 0x10027ee4
cmp al, 0x2d
je 0x10027ee4
mov byte [esp + ecx + 0x25], bl
add ecx, 1
cmp ecx, 0x10
jl 0x10027ed0
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.1002e6c3
add esp, 0x58
ret 4
push 0x10
lea ecx, [esi + 0x7a]
push 0x1006e830
push ecx
call fcn.1002e252
add esp, 0xc
test eax, eax
je 0x10027834
push 0x10
lea edx, [esi + 0x7c]
push 0x1006e830
push edx
call fcn.1002e252
add esp, 0xc
test eax, eax
je 0x10027834
push 0x10
lea eax, [esi + 0x7e]
push 0x1006e830
push eax
call fcn.1002e252
add esp, 0xc
test eax, eax
je 0x10027834
push 0x10
lea ecx, [esi + 0x80]
push 0x1006e830
push ecx
call fcn.1002e252
add esp, 0xc
test eax, eax
je 0x10027834
cmp dword [0x1007effc], ebx
je 0x100280f0
cmp dword [0x1007eff0], ebx
je 0x100280f0
push 8
lea edi, [esi + 0x21]
push 0x1006e824
push edi
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x100280be
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 0x10028036
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 0x1002800d
movsx ecx, cl
lea eax, [eax + eax*4]
sub dl, 0x30
lea eax, [ecx + eax*2]
jmp 0x10028095
lea edx, [eax + eax*4]
movsx eax, cl
lea eax, [eax + edx*2]
push eax
push edi
call fcn.10019f30
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e6c3
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 0x10028092
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.10019f30
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e6c3
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.10019f30
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e6c3
add esp, 0x58
ret 4
push 8
push 0x1006e818
push edi
call fcn.1002e252
add esp, 0xc
test eax, eax
jne 0x100280f0
call fcn.10025330
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e6c3
add esp, 0x58
ret 4
mov ecx, dword [esp + 0x60]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1002e6c3
add esp, 0x58
ret 4