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

Disassembly:
sub esp, 0x58
mov eax, dword [0x1007b664]
xor eax, esp
mov dword [esp + 0x54], eax
push ebx
push esi
mov esi, dword [esp + 0x64]
xor ebx, ebx
cmp dword [0x1007f674], ebx
push edi
je 0x10027c2d
cmp dword [0x1007f578], ebx
je 0x10027c2d
push 0xa
lea eax, [esi + 0xc]
push 0x1006fac0
push eax
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x10027c2d
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.1002f830
add esp, 8
cmp eax, ebx
je 0x10027c14
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 0x10027bfc
cmp al, 0x30
jae 0x10027c00
mov byte [esp + ecx + 0x47], bl
add ecx, 1
cmp ecx, 0x17
jb 0x10027bf0
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.1002eab3
add esp, 0x58
ret 4
cmp dword [0x10080020], ebx
je 0x10027e04
push 4
lea edi, [esi + 0x25]
push 0x1006fab0
push edi
call fcn.1002e642
add esp, 0xc
test eax, eax
je 0x10027ca4
push 4
push 0x1006faa8
push edi
call fcn.1002e642
add esp, 0xc
test eax, eax
je 0x10027ca4
push 4
push 0x1006faa0
push edi
call fcn.1002e642
add esp, 0xc
test eax, eax
je 0x10027ca4
push 4
push 0x1006fa98
push edi
call fcn.1002e642
add esp, 0xc
test eax, eax
je 0x10027ca4
push 4
push 0x1006fa90
push edi
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x10027e04
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.1002f830
add esp, 8
cmp eax, ebx
je 0x10027deb
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.1002eab3
add esp, 0x58
ret 4
cmp dword [0x10080000], ebx
je 0x10027f62
push 4
lea ecx, [esi + 0xc]
push 0x1006fa80
push ecx
call fcn.1002e642
add esp, 0xc
test eax, eax
je 0x10027c14
push 2
lea edi, [esi + 0x5e]
push 0x1006fa7c
push edi
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x10027e61
push ebx
call fcn.10027780
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eab3
add esp, 0x58
ret 4
push 2
push 0x1006fa78
push edi
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x10027e95
push 1
call fcn.10027780
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eab3
add esp, 0x58
ret 4
push 2
push 0x1006fa74
push edi
call fcn.1002e642
add esp, 0xc
test eax, eax
push 2
je 0x10027e43
push 0x1006fa70
push edi
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x10027edd
push 3
call fcn.10027780
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eab3
add esp, 0x58
ret 4
push 2
push 0x1006fa6c
push edi
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x10027f11
push 4
call fcn.10027780
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eab3
add esp, 0x58
ret 4
push 2
lea edx, [esi + 0x10]
push 0x1006fa68
push edx
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x10027f62
push 4
push 0x1007ffc0
add esi, 0x53
push esi
call fcn.1002e642
add esp, 0xc
neg eax
sbb eax, eax
neg eax
pop edi
add eax, 1
pop esi
mov dword [0x10080008], eax
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eab3
add esp, 0x58
ret 4
cmp dword [0x1007fdc4], ebx
je 0x10028360
push 0xe
lea eax, [esi + 0x46]
push 0x1006fa58
push eax
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x10027f8c
mov edi, 1
jmp 0x10027fe8
push 0xe
lea ecx, [esi + 0x48]
push 0x1006fa58
push ecx
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x10027faa
mov edi, 2
jmp 0x10027fe8
push 0xe
lea edx, [esi + 0x4a]
push 0x1006fa58
push edx
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x10027fc8
mov edi, 3
jmp 0x10027fe8
push 0xe
lea eax, [esi + 0x4c]
push 0x1006fa58
push eax
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x100282f1
mov edi, 4
lea ecx, [esi + 0xb0]
push 0x1006fa4c
push ecx
call fcn.1002f830
add esp, 8
test eax, eax
je 0x100284d0
cmp byte [esi + edi*2 + 0x75], 0x30
jle 0x100282d8
cmp byte [0x1007fe40], 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 0x100281d3
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.1002f830
add esp, 8
cmp eax, ebx
je 0x10028190
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 0x100281a2
cmp al, 0x30
jae 0x100281a6
cmp al, 0x2d
je 0x100281a6
mov byte [esp + ecx + 0x29], bl
add ecx, 1
cmp ecx, 0x2b
jl 0x10028192
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.1002eab3
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.1002f830
add esp, 8
cmp eax, ebx
je 0x100282ad
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 0x100282c0
cmp al, 0x30
jae 0x100282c4
cmp al, 0x2d
je 0x100282c4
mov byte [esp + ecx + 0x25], bl
add ecx, 1
cmp ecx, 0x10
jl 0x100282b0
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.1002eab3
add esp, 0x58
ret 4
push 0x10
lea ecx, [esi + 0x7a]
push 0x1006fa20
push ecx
call fcn.1002e642
add esp, 0xc
test eax, eax
je 0x10027c14
push 0x10
lea edx, [esi + 0x7c]
push 0x1006fa20
push edx
call fcn.1002e642
add esp, 0xc
test eax, eax
je 0x10027c14
push 0x10
lea eax, [esi + 0x7e]
push 0x1006fa20
push eax
call fcn.1002e642
add esp, 0xc
test eax, eax
je 0x10027c14
push 0x10
lea ecx, [esi + 0x80]
push 0x1006fa20
push ecx
call fcn.1002e642
add esp, 0xc
test eax, eax
je 0x10027c14
cmp dword [0x1008003c], ebx
je 0x100284d0
cmp dword [0x10080030], ebx
je 0x100284d0
push 8
lea edi, [esi + 0x21]
push 0x1006fa14
push edi
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x1002849e
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 0x10028416
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 0x100283ed
movsx ecx, cl
lea eax, [eax + eax*4]
sub dl, 0x30
lea eax, [ecx + eax*2]
jmp 0x10028475
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.1002eab3
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 0x10028472
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.1002eab3
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.1002eab3
add esp, 0x58
ret 4
push 8
push 0x1006fa08
push edi
call fcn.1002e642
add esp, 0xc
test eax, eax
jne 0x100284d0
call fcn.100257b0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1002eab3
add esp, 0x58
ret 4
mov ecx, dword [esp + 0x60]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1002eab3
add esp, 0x58
ret 4