Function at 0x1000d0f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009141c
mov eax, dword fs:[0]
push eax
sub esp, 0x364
mov eax, dword [0x100b84c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov eax, ecx
mov dword [ebp - 0x354], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x368], 0
xor ecx, ecx
mov dword [eax + 0x14], 7
mov dword [eax + 0x10], 0
mov dword [ebp - 0x36c], eax
mov word [eax], cx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x18], ecx
push ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ecx
mov byte [ebp - 0x28], cl
push 0x100a3664
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x368], 1
mov dword [ebp - 0x14], 0xf
call fcn.10014850
mov dword [ebp - 4], 1
push ecx
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x304]
call fcn.1004d370
mov byte [ebp - 4], 3
cmp dword [ebp - 0x14], 0x10
jb 0x1000d1ac
push dword [ebp - 0x28]
call fcn.1006e29c
add esp, 4
push 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
push 0x100a3664
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
call fcn.10014850
mov byte [ebp - 4], 4
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x2fc]
call fcn.10054f30
mov byte [ebp - 4], 6
cmp dword [ebp - 0x2c], 0x10
jb 0x1000d215
push dword [ebp - 0x40]
call fcn.1006e29c
add esp, 4
mov dword [ebp - method.std::_Facet_base.virtual_4], 0x100a74dc
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
mov dword [ebp - method.CCityIDMgr.virtual_0], vtable.CCityIDMgr.0
mov byte [ebp - 4], 7
xor eax, eax
push 0xffffffffffffffff
push eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
push esi
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
call fcn.10014ef0
mov byte [ebp - 4], 8
cmp dword [ebp - 0x48], 0
jne 0x1000d323
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x304]
call fcn.1004d5c0
mov byte [ebp - 4], 9
mov edx, eax
lea ecx, [ebp - 0x40]
call fcn.1001f4e0
mov esi, eax
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x58]
cmp eax, esi
je 0x1000d2d3
cmp dword [ebp - 0x44], 8
jb 0x1000d2b6
push dword [ebp - 0x58]
call fcn.1006e29c
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
call fcn.10014c10
mov byte [ebp - 4], 9
cmp dword [ebp - 0x2c], 8
jb 0x1000d2e8
push dword [ebp - 0x40]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x14], 0x10
jb 0x1000d311
push dword [ebp - 0x28]
call fcn.1006e29c
add esp, 4
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov edx, 0x10
lea ecx, [ebp - 0x268]
call fcn.1001fe80
mov dword [ebp - 0x310], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2e0]
call fcn.10009570
mov dword [ebp - 0x33c], eax
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x2b0]
push eax
push ecx
call fcn.10013de0
add esp, 4
mov ecx, eax
call fcn.1000cd60
mov dword [ebp - 0x334], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x280]
call fcn.100096c0
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x238]
call fcn.10009420
mov dword [ebp - 0x308], eax
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x30c]
call fcn.1000be70
mov byte [ebp - 4], 0x10
mov edx, eax
lea ecx, [ebp - 0x1d8]
call fcn.1001f4e0
mov dword [ebp - 0x31c], eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1a8]
call fcn.10008e20
mov dword [ebp - 0x318], eax
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x2fc]
call fcn.100555c0
mov byte [ebp - 4], 0x13
mov edx, eax
lea ecx, [ebp - 0x148]
call fcn.1001f4e0
mov dword [ebp - 0x340], eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x118]
call fcn.10009220
mov dword [ebp - 0x314], eax
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0x2fc]
call fcn.10055b10
mov byte [ebp - 4], 0x16
mov edx, eax
lea ecx, [ebp - 0xb8]
call fcn.1001f4e0
mov dword [ebp - 0x338], eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x88]
call fcn.100090c0
mov dword [ebp - 0x350], eax
mov byte [ebp - 4], 0x18
mov edx, 0x33
lea ecx, [ebp - 0x1c0]
call fcn.1001fe80
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x70]
call fcn.10008b80
mov dword [ebp - 0x34c], eax
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x2fc]
call fcn.10055970
mov byte [ebp - 4], 0x1b
mov edx, eax
lea ecx, [ebp - 0x298]
call fcn.1001f4e0
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x160]
call fcn.100088c0
mov dword [ebp - 0x348], eax
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x2fc]
call fcn.10055e40
mov byte [ebp - 4], 0x1e
mov edx, eax
lea ecx, [ebp - 0x130]
call fcn.1001f4e0
mov dword [ebp - 0x320], eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x2c8]
call fcn.10008a20
mov dword [ebp - 0x364], eax
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x304]
call fcn.1004d760
mov byte [ebp - 4], 0x21
mov edx, eax
lea ecx, [ebp - 0x1f0]
call fcn.1001f4e0
mov dword [ebp - 0x360], eax
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0xd0]
call fcn.10008cd0
mov dword [ebp - 0x358], eax
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x250]
call fcn.10008f70
mov dword [ebp - 0x344], eax
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x304]
call fcn.1004d980
mov byte [ebp - 4], 0x25
mov edx, eax
lea ecx, [ebp - 0x28]
call fcn.1001f4e0
mov dword [ebp - 0x324], eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x40]
call fcn.10008770
mov dword [ebp - 0x35c], eax
mov byte [ebp - 4], 0x27
mov esi, dword [ebp - 0x304]
mov edi, dword [esi]
lea ebx, [edi + 0x74]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
push ebx
mov byte [ebp - 0x2fd], al
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [ebp - 0x354]
push 0xffffffffffffffff
push 0
push dword [ebp - 0x35c]
mov ecx, edi
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x324]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x344]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x358]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x360]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x364]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x320]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x348]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x328]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x34c]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x330]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x350]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x338]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x314]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x340]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x318]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x31c]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x308]
mov ecx, eax
call fcn.10014cb0
cmp byte [ebp - 0x2fd], 0
mov dword [ebp - 0x308], eax
mov edx, 0x100a36b0
mov eax, 0x100a3754
cmove edx, eax
cmp word [edx], 0
jne 0x1000d73a
xor eax, eax
jmp 0x1000d74f
mov eax, edx
lea ebx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1000d740
sub eax, ebx
sar eax, 1
mov ecx, dword [ebp - 0x308]
push eax
push edx
call fcn.10014dc0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x32c]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x334]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x33c]
mov ecx, eax
call fcn.10014cb0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x310]
mov ecx, eax
call fcn.10014cb0
mov byte [ebp - 4], 0x26
cmp dword [ebp - 0x2c], 8
jb 0x1000d7b5
push dword [ebp - 0x40]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
mov byte [ebp - 4], 0x25
cmp dword [ebp - 0x14], 8
jb 0x1000d7de
push dword [ebp - 0x28]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
mov byte [ebp - 4], 0x24
cmp dword [ebp - 0x8c], 0x10
jb 0x1000d80d
push dword [ebp - 0xa0]
call fcn.1006e29c
add esp, 4
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0x90], 0
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0x23
cmp dword [ebp - 0x23c], 8
jb 0x1000d843
push dword [ebp - 0x250]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x23c], 7
mov dword [ebp - 0x240], 0
mov word [ebp - 0x250], ax
mov byte [ebp - 4], 0x22
cmp dword [ebp - 0xbc], 8
jb 0x1000d87b
push dword [ebp - 0xd0]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0xbc], 7
mov dword [ebp - 0xc0], 0
mov word [ebp - 0xd0], ax
mov byte [ebp - 4], 0x21
cmp dword [ebp - 0x1dc], 8
jb 0x1000d8b3
push dword [ebp - 0x1f0]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x1dc], 7
mov dword [ebp - 0x1e0], 0
mov word [ebp - 0x1f0], ax
mov byte [ebp - 4], 0x20
cmp dword [ebp - 0xec], 0x10
jb 0x1000d8eb
push dword [ebp - 0x100]
call fcn.1006e29c
add esp, 4
mov dword [ebp - 0xec], 0xf
mov dword [ebp - 0xf0], 0
mov byte [ebp - 0x100], 0
mov byte [ebp - 4], 0x1f
cmp dword [ebp - 0x2b4], 8
jb 0x1000d921
push dword [ebp - 0x2c8]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x2b4], 7
mov dword [ebp - 0x2b8], 0
mov word [ebp - 0x2c8], ax
mov byte [ebp - 4], 0x1e
cmp dword [ebp - 0x11c], 8
jb 0x1000d959
push dword [ebp - 0x130]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x11c], 7
mov dword [ebp - 0x120], 0
mov word [ebp - 0x130], ax
mov byte [ebp - 4], 0x1d
cmp dword [ebp - 0x20c], 0x10
jb 0x1000d991
push dword [ebp - 0x220]
call fcn.1006e29c
add esp, 4
mov dword [ebp - 0x20c], 0xf
mov dword [ebp - 0x210], 0
mov byte [ebp - 0x220], 0
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0x14c], 8
jb 0x1000d9c7
push dword [ebp - 0x160]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x14c], 7
mov dword [ebp - 0x150], 0
mov word [ebp - 0x160], ax
mov byte [ebp - 4], 0x1b
cmp dword [ebp - 0x284], 8
jb 0x1000d9ff
push dword [ebp - 0x298]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x284], 7
mov dword [ebp - 0x288], 0
mov word [ebp - 0x298], ax
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0x17c], 0x10
jb 0x1000da37
push dword [ebp - 0x190]
call fcn.1006e29c
add esp, 4
mov dword [ebp - 0x17c], 0xf
mov dword [ebp - 0x180], 0
mov byte [ebp - 0x190], 0
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x5c], 8
jb 0x1000da67
push dword [ebp - 0x70]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x5c], 7
mov dword [ebp - 0x60], 0
mov word [ebp - 0x70], ax
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x1ac], 8
jb 0x1000da96
push dword [ebp - 0x1c0]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x1ac], 7
mov dword [ebp - 0x1b0], 0
mov word [ebp - 0x1c0], ax
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x74], 8
jb 0x1000dacb
push dword [ebp - 0x88]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x74], 7
mov dword [ebp - 0x78], 0
mov word [ebp - 0x88], ax
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0xa4], 8
jb 0x1000dafd
push dword [ebp - 0xb8]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0xa4], 7
mov dword [ebp - 0xa8], 0
mov word [ebp - 0xb8], ax
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0xd4], 0x10
jb 0x1000db35
push dword [ebp - 0xe8]
call fcn.1006e29c
add esp, 4
mov dword [ebp - 0xd4], 0xf
mov dword [ebp - 0xd8], 0
mov byte [ebp - 0xe8], 0
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x104], 8
jb 0x1000db6b
push dword [ebp - 0x118]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x104], 7
mov dword [ebp - 0x108], 0
mov word [ebp - 0x118], ax
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x134], 8
jb 0x1000dba3
push dword [ebp - 0x148]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x134], 7
mov dword [ebp - 0x138], 0
mov word [ebp - 0x148], ax
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x164], 0x10
jb 0x1000dbdb
push dword [ebp - 0x178]
call fcn.1006e29c
add esp, 4
mov dword [ebp - 0x164], 0xf
mov dword [ebp - 0x168], 0
mov byte [ebp - 0x178], 0
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x194], 8
jb 0x1000dc11
push dword [ebp - 0x1a8]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x194], 7
mov dword [ebp - 0x198], 0
mov word [ebp - 0x1a8], ax
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x1c4], 8
jb 0x1000dc49
push dword [ebp - 0x1d8]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x1c4], 7
mov dword [ebp - 0x1c8], 0
mov word [ebp - 0x1d8], ax
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x1f4], 0x10
jb 0x1000dc81
push dword [ebp - 0x208]
call fcn.1006e29c
add esp, 4
mov dword [ebp - 0x1f4], 0xf
mov dword [ebp - 0x1f8], 0
mov byte [ebp - 0x208], 0
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x224], 8
jb 0x1000dcb7
push dword [ebp - 0x238]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x224], 7
mov dword [ebp - 0x228], 0
mov word [ebp - 0x238], ax
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x26c], 8
jb 0x1000dcef
push dword [ebp - 0x280]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x26c], 7
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], ax
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x29c], 8
jb 0x1000dd27
push dword [ebp - 0x2b0]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x29c], 7
mov dword [ebp - 0x2a0], 0
mov word [ebp - 0x2b0], ax
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x2cc], 8
jb 0x1000dd5f
push dword [ebp - 0x2e0]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x2cc], 7
mov dword [ebp - 0x2d0], 0
mov word [ebp - 0x2e0], ax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x254], 8
jb 0x1000dd97
push dword [ebp - 0x268]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
mov byte [ebp - 4], 7
cmp dword [ebp - 0x44], 8
jb 0x1000ddc9
push dword [ebp - 0x58]
call fcn.1006e29c
add esp, 4
xor eax, eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
mov byte [ebp - 4], 6
mov dword [ebp - method.CCityIDMgr.virtual_0], vtable.CCityIDMgr.0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2fc]
call fcn.100551d0
mov byte [ebp - 4], 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x310], esp
xor eax, eax
push 0xffffffffffffffff
push eax
lea edx, [esi + 0x28]
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push edx
mov word [ecx], ax
call fcn.10014ef0
mov dword [ebp - 4], 0x28
mov byte [ebp - 4], 0
mov ecx, dword [esi]
call fcn.1004e590
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1006e28d
mov esp, ebp
pop ebp
ret