Function at 0x10027880
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 0x10027abd
cmp dword [0x10081578], ebx
je 0x10027abd
push 0xa
lea eax, [esi + 0xc]
push 0x10071b70
push eax
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x10027abd
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.1002f690
add esp, 8
cmp eax, ebx
je 0x10027aa4
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 0x10027a8c
cmp al, 0x30
jae 0x10027a90
mov byte [esp + ecx + 0x47], bl
add ecx, 1
cmp ecx, 0x17
jb 0x10027a80
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.1002e913
add esp, 0x58
ret 4
cmp dword [0x10082020], ebx
je 0x10027c94
push 4
lea edi, [esi + 0x25]
push 0x10071b60
push edi
call fcn.1002e4a2
add esp, 0xc
test eax, eax
je 0x10027b34
push 4
push 0x10071b58
push edi
call fcn.1002e4a2
add esp, 0xc
test eax, eax
je 0x10027b34
push 4
push 0x10071b50
push edi
call fcn.1002e4a2
add esp, 0xc
test eax, eax
je 0x10027b34
push 4
push 0x10071b48
push edi
call fcn.1002e4a2
add esp, 0xc
test eax, eax
je 0x10027b34
push 4
push 0x10071b40
push edi
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x10027c94
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.1002f690
add esp, 8
cmp eax, ebx
je 0x10027c7b
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.1002e913
add esp, 0x58
ret 4
cmp dword [0x10082000], ebx
je 0x10027df2
push 4
lea ecx, [esi + 0xc]
push 0x10071b30
push ecx
call fcn.1002e4a2
add esp, 0xc
test eax, eax
je 0x10027aa4
push 2
lea edi, [esi + 0x5e]
push 0x10071b2c
push edi
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x10027cf1
push ebx
call fcn.10027610
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e913
add esp, 0x58
ret 4
push 2
push 0x10071b28
push edi
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x10027d25
push 1
call fcn.10027610
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e913
add esp, 0x58
ret 4
push 2
push 0x10071b24
push edi
call fcn.1002e4a2
add esp, 0xc
test eax, eax
push 2
je 0x10027cd3
push 0x10071b20
push edi
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x10027d6d
push 3
call fcn.10027610
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e913
add esp, 0x58
ret 4
push 2
push 0x10071b1c
push edi
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x10027da1
push 4
call fcn.10027610
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e913
add esp, 0x58
ret 4
push 2
lea edx, [esi + 0x10]
push 0x10071b18
push edx
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x10027df2
push 4
push 0x10081fc0
add esi, 0x53
push esi
call fcn.1002e4a2
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.1002e913
add esp, 0x58
ret 4
cmp dword [0x10081dc4], ebx
je 0x100281f0
push 0xe
lea eax, [esi + 0x46]
push 0x10071b08
push eax
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x10027e1c
mov edi, 1
jmp 0x10027e78
push 0xe
lea ecx, [esi + 0x48]
push 0x10071b08
push ecx
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x10027e3a
mov edi, 2
jmp 0x10027e78
push 0xe
lea edx, [esi + 0x4a]
push 0x10071b08
push edx
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x10027e58
mov edi, 3
jmp 0x10027e78
push 0xe
lea eax, [esi + 0x4c]
push 0x10071b08
push eax
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x10028181
mov edi, 4
lea ecx, [esi + 0xb0]
push 0x10071afc
push ecx
call fcn.1002f690
add esp, 8
test eax, eax
je 0x10028360
cmp byte [esi + edi*2 + 0x75], 0x30
jle 0x10028168
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 0x10028063
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.1002f690
add esp, 8
cmp eax, ebx
je 0x10028020
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 0x10028032
cmp al, 0x30
jae 0x10028036
cmp al, 0x2d
je 0x10028036
mov byte [esp + ecx + 0x29], bl
add ecx, 1
cmp ecx, 0x2b
jl 0x10028022
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.1002e913
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.1002f690
add esp, 8
cmp eax, ebx
je 0x1002813d
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 0x10028150
cmp al, 0x30
jae 0x10028154
cmp al, 0x2d
je 0x10028154
mov byte [esp + ecx + 0x25], bl
add ecx, 1
cmp ecx, 0x10
jl 0x10028140
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.1002e913
add esp, 0x58
ret 4
push 0x10
lea ecx, [esi + 0x7a]
push 0x10071ad0
push ecx
call fcn.1002e4a2
add esp, 0xc
test eax, eax
je 0x10027aa4
push 0x10
lea edx, [esi + 0x7c]
push 0x10071ad0
push edx
call fcn.1002e4a2
add esp, 0xc
test eax, eax
je 0x10027aa4
push 0x10
lea eax, [esi + 0x7e]
push 0x10071ad0
push eax
call fcn.1002e4a2
add esp, 0xc
test eax, eax
je 0x10027aa4
push 0x10
lea ecx, [esi + 0x80]
push 0x10071ad0
push ecx
call fcn.1002e4a2
add esp, 0xc
test eax, eax
je 0x10027aa4
cmp dword [0x1008203c], ebx
je 0x10028360
cmp dword [0x10082030], ebx
je 0x10028360
push 8
lea edi, [esi + 0x21]
push 0x10071ac4
push edi
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x1002832e
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 0x100282a6
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 0x1002827d
movsx ecx, cl
lea eax, [eax + eax*4]
sub dl, 0x30
lea eax, [ecx + eax*2]
jmp 0x10028305
lea edx, [eax + eax*4]
movsx eax, cl
lea eax, [eax + edx*2]
push eax
push edi
call fcn.10019810
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e913
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 0x10028302
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.10019810
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e913
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.10019810
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e913
add esp, 0x58
ret 4
push 8
push 0x10071ab8
push edi
call fcn.1002e4a2
add esp, 0xc
test eax, eax
jne 0x10028360
call fcn.10025640
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002e913
add esp, 0x58
ret 4
mov ecx, dword [esp + 0x60]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1002e913
add esp, 0x58
ret 4