Function at 0x1007b820
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009f54c
mov eax, dword fs:[0]
push eax
sub esp, 0x180
mov eax, dword [0x100c7210]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xcc]
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.1007aa30
add esp, 8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x1007b897
jmp 0x1007c5b4
lea ecx, [ebp - 0x18]
call fcn.10027290
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000f670
movzx ecx, al
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], 0
jne 0x1007b8d2
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.1000f650
jmp 0x1007c5b4
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1007a9f0
add esp, 0x10
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x1007b909
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x1007b91d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.1000f650
jmp 0x1007c5b4
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x24], 0
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x2c]
push eax
push 0x100adf14
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x1007b975
cmp dword [ebp - 0x2c], 0
je 0x1007b975
cmp dword [ebp - 0x24], 0x34
jne 0x1007b975
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0xcc]
add eax, 4
push eax
call fcn.10054070
add esp, 0xc
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x2c]
push edx
push 0x100adf18
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x1007b99f
cmp dword [ebp - 0x2c], 0
jne 0x1007b9b3
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.1000f650
jmp 0x1007c5b4
mov dword [ebp - 0x30], 0
push 0
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0xcc]
call fcn.1007b4b0
test eax, eax
jne 0x1007ba48
push 1
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0xcc]
call fcn.1007b4b0
test eax, eax
jne 0x1007ba48
push 1
lea eax, [ebp - 0x30]
push eax
push 0
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0xcc]
call fcn.1007b4b0
test eax, eax
jne 0x1007ba48
push 1
lea eax, [ebp - 0x30]
push eax
push 9
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0xcc]
call fcn.1007b4b0
test eax, eax
jne 0x1007ba48
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x20]
call fcn.1001bd40
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x30]
and edx, 0xffff0000
shr edx, 0x10
push edx
mov eax, dword [ebp - 0x30]
and eax, 0xffff
push eax
push str.StringFileInfo_04X_04X_
lea ecx, [ebp - 0x20]
push ecx
call fcn.100189f0
add esp, 0x10
push 0x100adf80
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x3c]
push eax
call fcn.10010da0
add esp, 0xc
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xc8]
or ecx, 1
mov dword [ebp - 0xc8], ecx
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0xd0]
call fcn.10015020
push eax
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
test eax, eax
je 0x1007bae3
cmp dword [ebp - 0x24], 0
je 0x1007bae3
cmp dword [ebp - 0x2c], 0
je 0x1007bae3
mov dword [ebp - 0xd4], 1
jmp 0x1007baed
mov dword [ebp - 0xd4], 0
mov cl, byte [ebp - 0xd4]
mov byte [ebp - 0x35], cl
mov edx, dword [ebp - 0xc8]
and edx, 1
je 0x1007bb10
and dword [ebp - 0xc8], 0xfffffffe
lea ecx, [ebp - 0x3c]
call fcn.1000b440
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x1007bb5b
mov ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x40]
call fcn.10010730
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0xdc]
push eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x38
call fcn.1000ebe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.1000b440
push 0x100adf98
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x48]
push edx
call fcn.10010da0
add esp, 0xc
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xc8]
or eax, 2
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0xe0]
call fcn.10015020
push eax
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
test eax, eax
je 0x1007bbc3
cmp dword [ebp - 0x24], 0
je 0x1007bbc3
cmp dword [ebp - 0x2c], 0
je 0x1007bbc3
mov dword [ebp - 0xe4], 1
jmp 0x1007bbcd
mov dword [ebp - 0xe4], 0
mov al, byte [ebp - 0xe4]
mov byte [ebp - 0x41], al
mov ecx, dword [ebp - 0xc8]
and ecx, 2
je 0x1007bbf0
and dword [ebp - 0xc8], 0xfffffffd
lea ecx, [ebp - 0x48]
call fcn.1000b440
movzx edx, byte [ebp - 0x41]
test edx, edx
je 0x1007bc3b
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x4c]
call fcn.10010730
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xec]
push edx
mov ecx, dword [ebp - 0xcc]
add ecx, 0x3c
call fcn.1000ebe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4c]
call fcn.1000b440
push 0x100adfb8
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x54]
push ecx
call fcn.10010da0
add esp, 0xc
mov dword [ebp - 0xf0], eax
mov edx, dword [ebp - 0xc8]
or edx, 4
mov dword [ebp - 0xc8], edx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0xf0]
call fcn.10015020
push eax
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
test eax, eax
je 0x1007bca3
cmp dword [ebp - 0x24], 0
je 0x1007bca3
cmp dword [ebp - 0x2c], 0
je 0x1007bca3
mov dword [ebp - 0xf4], 1
jmp 0x1007bcad
mov dword [ebp - 0xf4], 0
mov dl, byte [ebp - 0xf4]
mov byte [ebp - 0x4d], dl
mov eax, dword [ebp - 0xc8]
and eax, 4
je 0x1007bcd0
and dword [ebp - 0xc8], 0xfffffffb
lea ecx, [ebp - 0x54]
call fcn.1000b440
movzx ecx, byte [ebp - 0x4d]
test ecx, ecx
je 0x1007bd1b
mov edx, dword [ebp - 0x2c]
push edx
lea ecx, [ebp - 0x58]
call fcn.10010730
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xfc], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xfc]
push ecx
mov ecx, dword [ebp - 0xcc]
add ecx, 0x40
call fcn.1000ebe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x58]
call fcn.1000b440
push 0x100adfd0
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x60]
push eax
call fcn.10010da0
add esp, 0xc
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xc8]
or ecx, 8
mov dword [ebp - 0xc8], ecx
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x100]
call fcn.10015020
push eax
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
test eax, eax
je 0x1007bd83
cmp dword [ebp - 0x24], 0
je 0x1007bd83
cmp dword [ebp - 0x2c], 0
je 0x1007bd83
mov dword [ebp - 0x104], 1
jmp 0x1007bd8d
mov dword [ebp - 0x104], 0
mov cl, byte [ebp - 0x104]
mov byte [ebp - 0x59], cl
mov edx, dword [ebp - 0xc8]
and edx, 8
je 0x1007bdb0
and dword [ebp - 0xc8], 0xfffffff7
lea ecx, [ebp - 0x60]
call fcn.1000b440
movzx eax, byte [ebp - 0x59]
test eax, eax
je 0x1007bdfb
mov ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x64]
call fcn.10010730
mov dword [ebp - 0x108], eax
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0x10c], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x44
call fcn.1000ebe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x64]
call fcn.1000b440
push 0x100adfec
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x6c]
push edx
call fcn.10010da0
add esp, 0xc
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xc8]
or eax, 0x10
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0x110]
call fcn.10015020
push eax
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
test eax, eax
je 0x1007be63
cmp dword [ebp - 0x24], 0
je 0x1007be63
cmp dword [ebp - 0x2c], 0
je 0x1007be63
mov dword [ebp - 0x114], 1
jmp 0x1007be6d
mov dword [ebp - 0x114], 0
mov al, byte [ebp - 0x114]
mov byte [ebp - 0x65], al
mov ecx, dword [ebp - 0xc8]
and ecx, 0x10
je 0x1007be90
and dword [ebp - 0xc8], 0xffffffef
lea ecx, [ebp - 0x6c]
call fcn.1000b440
movzx edx, byte [ebp - 0x65]
test edx, edx
je 0x1007bedb
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x70]
call fcn.10010730
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], ecx
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x11c]
push edx
mov ecx, dword [ebp - 0xcc]
add ecx, 0x48
call fcn.1000ebe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x70]
call fcn.1000b440
push str.OriginalFileName
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x78]
push ecx
call fcn.10010da0
add esp, 0xc
mov dword [ebp - 0x120], eax
mov edx, dword [ebp - 0xc8]
or edx, 0x20
mov dword [ebp - 0xc8], edx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x120]
call fcn.10015020
push eax
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
test eax, eax
je 0x1007bf43
cmp dword [ebp - 0x24], 0
je 0x1007bf43
cmp dword [ebp - 0x2c], 0
je 0x1007bf43
mov dword [ebp - 0x124], 1
jmp 0x1007bf4d
mov dword [ebp - 0x124], 0
mov dl, byte [ebp - 0x124]
mov byte [ebp - 0x71], dl
mov eax, dword [ebp - 0xc8]
and eax, 0x20
je 0x1007bf70
and dword [ebp - 0xc8], 0xffffffdf
lea ecx, [ebp - 0x78]
call fcn.1000b440
movzx ecx, byte [ebp - 0x71]
test ecx, ecx
je 0x1007bfbb
mov edx, dword [ebp - 0x2c]
push edx
lea ecx, [ebp - 0x7c]
call fcn.10010730
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x12c], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x12c]
push ecx
mov ecx, dword [ebp - 0xcc]
add ecx, 0x4c
call fcn.1000ebe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7c]
call fcn.1000b440
push 0x100ae030
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x84]
push eax
call fcn.10010da0
add esp, 0xc
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0xc8]
or ecx, 0x40
mov dword [ebp - 0xc8], ecx
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x130]
call fcn.10015020
push eax
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
test eax, eax
je 0x1007c026
cmp dword [ebp - 0x24], 0
je 0x1007c026
cmp dword [ebp - 0x2c], 0
je 0x1007c026
mov dword [ebp - 0x134], 1
jmp 0x1007c030
mov dword [ebp - 0x134], 0
mov cl, byte [ebp - 0x134]
mov byte [ebp - 0x7d], cl
mov edx, dword [ebp - 0xc8]
and edx, 0x40
je 0x1007c056
and dword [ebp - 0xc8], 0xffffffbf
lea ecx, [ebp - 0x84]
call fcn.1000b440
movzx eax, byte [ebp - 0x7d]
test eax, eax
je 0x1007c0a7
mov ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x88]
call fcn.10010730
mov dword [ebp - 0x138], eax
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x13c], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x50
call fcn.1000ebe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x88]
call fcn.1000b440
push 0x100ae048
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x90]
push edx
call fcn.10010da0
add esp, 0xc
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xc8]
or eax, 0x80
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0x140]
call fcn.10015020
push eax
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
test eax, eax
je 0x1007c114
cmp dword [ebp - 0x24], 0
je 0x1007c114
cmp dword [ebp - 0x2c], 0
je 0x1007c114
mov dword [ebp - 0x144], 1
jmp 0x1007c11e
mov dword [ebp - 0x144], 0
mov al, byte [ebp - 0x144]
mov byte [ebp - 0x89], al
mov ecx, dword [ebp - 0xc8]
and ecx, 0x80
je 0x1007c14d
and dword [ebp - 0xc8], 0xffffff7f
lea ecx, [ebp - 0x90]
call fcn.1000b440
movzx edx, byte [ebp - 0x89]
test edx, edx
je 0x1007c1a1
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x94]
call fcn.10010730
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x14c], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x14c]
push edx
mov ecx, dword [ebp - 0xcc]
add ecx, 0x54
call fcn.1000ebe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x94]
call fcn.1000b440
push str.Comments
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x9c]
push ecx
call fcn.10010da0
add esp, 0xc
mov dword [ebp - 0x150], eax
mov edx, dword [ebp - 0xc8]
or edx, 0x100
mov dword [ebp - 0xc8], edx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x150]
call fcn.10015020
push eax
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
test eax, eax
je 0x1007c20f
cmp dword [ebp - 0x24], 0
je 0x1007c20f
cmp dword [ebp - 0x2c], 0
je 0x1007c20f
mov dword [ebp - 0x154], 1
jmp 0x1007c219
mov dword [ebp - 0x154], 0
mov dl, byte [ebp - 0x154]
mov byte [ebp - 0x95], dl
mov eax, dword [ebp - 0xc8]
and eax, 0x100
je 0x1007c247
and dword [ebp - 0xc8], 0xfffffeff
lea ecx, [ebp - 0x9c]
call fcn.1000b440
movzx ecx, byte [ebp - 0x95]
test ecx, ecx
je 0x1007c29b
mov edx, dword [ebp - 0x2c]
push edx
lea ecx, [ebp - 0xa0]
call fcn.10010730
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x15c], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x15c]
push ecx
mov ecx, dword [ebp - 0xcc]
add ecx, 0x58
call fcn.1000ebe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xa0]
call fcn.1000b440
push str.LegalTrademarks
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0xa8]
push eax
call fcn.10010da0
add esp, 0xc
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0xc8]
or ecx, 0x200
mov dword [ebp - 0xc8], ecx
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x160]
call fcn.10015020
push eax
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
test eax, eax
je 0x1007c309
cmp dword [ebp - 0x24], 0
je 0x1007c309
cmp dword [ebp - 0x2c], 0
je 0x1007c309
mov dword [ebp - 0x164], 1
jmp 0x1007c313
mov dword [ebp - 0x164], 0
mov cl, byte [ebp - 0x164]
mov byte [ebp - 0xa1], cl
mov edx, dword [ebp - 0xc8]
and edx, 0x200
je 0x1007c342
and dword [ebp - 0xc8], 0xfffffdff
lea ecx, [ebp - 0xa8]
call fcn.1000b440
movzx eax, byte [ebp - 0xa1]
test eax, eax
je 0x1007c396
mov ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0xac]
call fcn.10010730
mov dword [ebp - 0x168], eax
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x16c], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x16c]
push eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x5c
call fcn.1000ebe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xac]
call fcn.1000b440
push str.PrivateBuild
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0xb4]
push edx
call fcn.10010da0
add esp, 0xc
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0xc8]
or eax, 0x400
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0x170]
call fcn.10015020
push eax
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
test eax, eax
je 0x1007c403
cmp dword [ebp - 0x24], 0
je 0x1007c403
cmp dword [ebp - 0x2c], 0
je 0x1007c403
mov dword [ebp - 0x174], 1
jmp 0x1007c40d
mov dword [ebp - 0x174], 0
mov al, byte [ebp - 0x174]
mov byte [ebp - 0xad], al
mov ecx, dword [ebp - 0xc8]
and ecx, 0x400
je 0x1007c43c
and dword [ebp - 0xc8], 0xfffffbff
lea ecx, [ebp - 0xb4]
call fcn.1000b440
movzx edx, byte [ebp - 0xad]
test edx, edx
je 0x1007c490
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xb8]
call fcn.10010730
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0x17c], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x17c]
push edx
mov ecx, dword [ebp - 0xcc]
add ecx, 0x60
call fcn.1000ebe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb8]
call fcn.1000b440
push str.SpecialBuild
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0xc0]
push ecx
call fcn.10010da0
add esp, 0xc
mov dword [ebp - 0x180], eax
mov edx, dword [ebp - 0xc8]
or edx, 0x800
mov dword [ebp - 0xc8], edx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x180]
call fcn.10015020
push eax
lea ecx, [ebp - 0x18]
call fcn.10015020
push eax
call fcn.10026540
test eax, eax
je 0x1007c4fe
cmp dword [ebp - 0x24], 0
je 0x1007c4fe
cmp dword [ebp - 0x2c], 0
je 0x1007c4fe
mov dword [ebp - 0x184], 1
jmp 0x1007c508
mov dword [ebp - 0x184], 0
mov dl, byte [ebp - 0x184]
mov byte [ebp - 0xb9], dl
mov eax, dword [ebp - 0xc8]
and eax, 0x800
je 0x1007c536
and dword [ebp - 0xc8], 0xfffff7ff
lea ecx, [ebp - 0xc0]
call fcn.1000b440
movzx ecx, byte [ebp - 0xb9]
test ecx, ecx
je 0x1007c58a
mov edx, dword [ebp - 0x2c]
push edx
lea ecx, [ebp - 0xc4]
call fcn.10010730
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x18c]
push ecx
mov ecx, dword [ebp - 0xcc]
add ecx, 0x64
call fcn.1000ebe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc4]
call fcn.1000b440
mov dword [ebp - 0x10], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.1000b440
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.1000f650
xor edx, edx
jne 0x1007b872
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 4