Function at 0x1001d540
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10066520
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x3f4
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [0x1007f1bc]
mov dword [ebp - 0x1b0], eax
xor ecx, ecx
mov dword [ebp - 0x48], 0x490f9d0a
mov dword [ebp - 0x44], ecx
mov dx, word [0x1007f168]
mov word [ebp - 0x24], dx
mov eax, dword [0x1007f130]
mov ecx, dword [0x1007f134]
mov dword [ebp - 0x1ac], ecx
mov word [ebp - 0x28], ax
mov edx, dword [0x1007f160]
mov eax, dword [0x1007f164]
mov dword [ebp - 0x1d4], eax
mov word [ebp - 0x1c], dx
mov dword [ebp - 0x40], 0xc545
movsx ecx, word [0x1007f15c]
mov dword [ebp - 0x3c], ecx
mov edx, 0x73f9
mov word [ebp - 0x2c], dx
mov eax, dword [0x1007f190]
mov ecx, dword [0x1007f194]
mov dword [ebp - 0x180], ecx
mov word [ebp - 0x38], ax
mov dl, byte [0x1007f1c0]
mov byte [ebp - 0x16], dl
mov eax, 0x1d08
mov word [ebp - 0xd4], ax
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x184], edx
mov byte [ebp - 0x15], cl
mov ax, word [0x1007f1b0]
mov word [ebp - 0x34], ax
mov dword [ebp - 0x54], 0x207dc3ca
xor ecx, ecx
mov dword [ebp - 0x78], 0x59218866
mov dword [ebp - 0x74], ecx
mov dl, byte [0x1007f027]
mov byte [ebp - 0x12], dl
mov eax, 0x5c0c
mov word [ebp - 0x20], ax
mov dword [ebp - 0xdc], 0xbc6e
mov byte [ebp - 0x13], 0xbc
mov byte [ebp - 0x14], 1
mov ecx, 0xae
mov word [ebp - 0x30], cx
mov edx, dword [0x1007f1bc]
xor eax, eax
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
movzx ecx, word [0x1007f1b8]
mov dword [ebp - 0xe0], ecx
movsx edx, word [0x1007f148]
mov dword [ebp - 0x4c], edx
mov byte [ebp - 0x11], 0x7d
mov eax, dword [0x1007f188]
mov ecx, dword [0x1007f18c]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], ecx
mov eax, dword [0x1007f1a4]
cdq
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], edx
movzx eax, byte [0x1007f04e]
cdq
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1c4], edx
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov dword [ebp - 0x188], eax
mov word [ebp - 0xd8], dx
mov cx, word [0x1007f158]
mov word [ebp - 0xec], cx
mov byte [ebp - 0x4d], 0xcc
movzx eax, word [0x1007f14c]
cdq
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], edx
mov dx, word [0x1007f1b8]
mov byte [ebp - 0x4e], dl
mov ax, word [0x1007f120]
mov word [ebp - 0xe8], ax
mov dword [ebp - 0x18c], 0x30a5a5b3
mov byte [ebp - 0x4f], 0xbb
jmp 0x1001d72e
jmp 0x1001d749
jmp 0x1001d77d
jmp 0x1001d79d
jmp 0x1001d7c7
mov dword [ebp - 4], 0
mov ecx, dword [0x1007f188]
or ecx, dword [0x1007f18c]
je 0x1001d89d
movzx edx, word [0x1007f1c8]
test edx, edx
je 0x1001d80a
movzx eax, word [0x1007f16c]
test eax, eax
je 0x1001d80a
xor ecx, ecx
mov dword [ebp - 0xc0], 1
mov dword [ebp - 0xbc], ecx
jmp 0x1001d815
xorps xmm0, xmm0
movlpd qword [ebp - 0xc0], xmm0
movsx eax, byte [ebp - 0x11]
cdq
and eax, dword [ebp - 0x48]
and edx, dword [ebp - 0x44]
not eax
not edx
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], edx
mov edx, dword [ebp - 0xf0]
cmp edx, dword [ebp - 0xbc]
jg 0x1001d857
jl 0x1001d84e
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xc0]
ja 0x1001d857
mov dword [ebp - 0x7c], 1
jmp 0x1001d85e
mov dword [ebp - 0x7c], 0
mov ecx, dword [ebp - 0x7c]
not ecx
test ecx, ecx
je 0x1001d89d
movzx edx, byte [ebp - 0x15]
movsx eax, byte [ebp - 0x14]
lea ecx, [eax + edx + 0x223e613e]
mov byte [ebp - 0x14], cl
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov dword [ebp - 0x190], eax
add edx, 0x3d1
mov byte [ebp - 0x13], dl
imul ecx, dword [ebp - 0x4c], 0x85
mov dword [ebp - 0x54], ecx
jmp 0x1001d8da
mov dword [ebp - 4], 0xffffffff
jmp 0x1001d8ea
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100314f0
add esp, 8
test eax, eax
je 0x1001e219
movsx ecx, byte [ebp - 0x11]
mov edx, dword [str.C]
sub edx, ecx
jne 0x1001d919
mov dword [ebp - 0x80], 1
jmp 0x1001d920
mov dword [ebp - 0x80], 0
movzx eax, byte [ebp - 0x15]
movsx ecx, byte [ebp - 0x14]
sub eax, ecx
movzx edx, byte [ebp - 0x13]
movzx ecx, byte [0x1007f026]
xor edx, ecx
add eax, edx
movzx edx, word [ebp - 0x1c]
mov ecx, dword [ebp - 0x80]
lea edx, [edx + ecx + 0xfb]
not edx
sub eax, edx
mov dword [0x1007f158], eax
mov eax, dword [0x1007f188]
add eax, 1
mov ecx, dword [0x1007f18c]
adc ecx, 0
mov dword [0x1007f188], eax
mov dword [0x1007f18c], ecx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
cdq
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], edx
mov edx, dword [0x1007fc38]
mov dword [ebp - 0x68], edx
movzx eax, word [0x1007f1c8]
cmp eax, dword [str.C]
jb 0x1001d9a5
mov dword [ebp - 0x84], 1
jmp 0x1001d9af
mov dword [ebp - 0x84], 0
movzx ecx, word [0x1007f1c8]
cmp ecx, 3
jl 0x1001d9c7
mov dword [ebp - 0x88], 1
jmp 0x1001d9d1
mov dword [ebp - 0x88], 0
mov edx, dword [ebp - 0x84]
cmp edx, dword [ebp - 0x88]
jl 0x1001daa0
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x100], esi
mov eax, dword [ebp - 0xf8]
cmp eax, dword [ebp - 0x100]
jg 0x1001da9b
jl 0x1001da29
mov ecx, dword [ebp - 0xfc]
cmp ecx, dword [ebp - 0x104]
jae 0x1001da9b
movzx edx, word [0x1007f1b8]
test edx, edx
je 0x1001da9b
movzx eax, word [ebp - 0x1c]
test eax, eax
je 0x1001da9b
movzx ecx, word [0x1007f14c]
add ecx, dword [ebp - 0x3c]
movzx edx, word [0x1007f14c]
sub edx, ecx
mov word [0x1007f14c], dx
mov dword [str.C], 0xac
movzx eax, word [0x1007f128]
test eax, eax
je 0x1001da7f
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], edx
jmp 0x1001da92
mov eax, dword [0x1007f170]
xor ecx, ecx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
mov dl, byte [ebp - 0xc8]
mov byte [ebp - 0x11], dl
jmp 0x1001db3f
movsx eax, word [ebp - 0x2c]
test eax, eax
je 0x1001db3f
movsx eax, word [ebp - 0x20]
cdq
mov ecx, eax
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov dword [ebp - 0x194], eax
sub ecx, edx
movsx eax, word [ebp - 0x20]
cdq
or eax, ecx
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x10c]
or eax, dword [ebp - 0x108]
jne 0x1001db05
xor ecx, ecx
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x110], ecx
jmp 0x1001db10
xorps xmm0, xmm0
movlpd qword [ebp - 0x114], xmm0
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
mov dword [ebp - 0x198], edx
add ecx, dword [ebp - 0x114]
movzx eax, word [0x1007f168]
cdq
sub ecx, eax
mov word [ebp - 0x24], cx
movzx eax, word [ebp - 0x1c]
mov dword [0x1007f180], eax
mov ecx, dword [ebp - 0x68]
add ecx, 0x41b
mov dword [ebp - 0xe4], ecx
movzx edx, byte [ebp - 0x16]
test edx, edx
je 0x1001db97
mov dword [ebp - 0x64], 0x46
cmp dword [0x1007f1a4], 0
je 0x1001db83
movzx eax, word [ebp - 0x34]
movzx ecx, word [0x1007f128]
add eax, ecx
mov word [ebp - 0x34], ax
movzx dx, byte [ebp - 0x13]
mov word [0x1007f15c], dx
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x1fd6
jl 0x1001db5d
jmp 0x1001dbd4
mov ecx, dword [ebp - 0x78]
or ecx, dword [ebp - 0x74]
je 0x1001dbd4
mov edx, dword [0x1007f130]
mov eax, dword [0x1007f134]
mov dword [ebp - 0x19c], eax
add edx, 0xb7b3
mov word [ebp - 0x24], dx
movzx ecx, word [0x1007f16c]
imul edx, ecx, 0xc632ca9c
xor eax, eax
mov dword [0x1007f188], edx
mov dword [0x1007f18c], eax
mov ecx, dword [ebp - 0x68]
add ecx, 0x164
mov dword [ebp - 0x8c], ecx
movsx edx, word [ebp - 0x38]
mov eax, dword [0x1007f154]
sub eax, edx
imul eax, dword [0x1007f154]
mov dword [0x1007f154], eax
mov dword [0x1007f180], 0xe420f5ba
movsx ecx, word [ebp - 0x38]
sar ecx, 5
mov word [0x1007f1a8], cx
mov edx, dword [ebp - 0x68]
add edx, 0x1ee
mov dword [ebp - 0x1a0], edx
mov ecx, 9
mov esi, str.Synchronizingstore
lea edi, [ebp - 0x1fc]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x1fc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x1007f16c], ax
mov ecx, dword [ebp - 0xe4]
imul ecx, dword [ebp - 0x8c]
cmp ecx, dword [ebp - 0x8c]
je 0x1001e219
mov byte [ebp - 0x12], 0x20
movzx edx, word [ebp - 0x30]
add edx, 0x11b5506f
mov dword [0x1007f140], edx
movsx eax, word [0x1007f1a8]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x30], ax
push str._e__n__i:_
push 0x104
lea ecx, [ebp - 0x404]
push ecx
call fcn.1005d006
add esp, 0xc
movsx edx, byte [ebp - 0x12]
push edx
call dword [sym.imp.USER32.dll_IsZoomed]
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x1c]
test eax, eax
jge 0x1001dcc3
mov dword [ebp - 0x90], 1
jmp 0x1001dccd
mov dword [ebp - 0x90], 0
movzx ecx, word [ebp - 0x1c]
cmp ecx, 0x1a
jge 0x1001dce2
mov dword [ebp - 0x94], 1
jmp 0x1001dcec
mov dword [ebp - 0x94], 0
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x94]
jge 0x1001dde9
movzx eax, word [ebp - 0x24]
movzx ecx, word [ebp - 0x24]
cmp eax, ecx
je 0x1001dd16
mov dword [ebp - 0xa0], 1
jmp 0x1001dd20
mov dword [ebp - 0xa0], 0
mov edx, dword [0x1007f1a4]
cmp edx, dword [ebp - 0x3c]
jle 0x1001dd37
mov dword [ebp - 0x98], 1
jmp 0x1001dd41
mov dword [ebp - 0x98], 0
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x1001dd5d
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x1001dd5d
mov dword [ebp - 0x9c], 0
jmp 0x1001dd67
mov dword [ebp - 0x9c], 1
mov edx, dword [ebp - 0x98]
cmp edx, dword [ebp - 0x9c]
jne 0x1001dd81
mov dword [ebp - 0xa4], 1
jmp 0x1001dd8b
mov dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa0]
or eax, dword [ebp - 0xa4]
je 0x1001ddaf
mov byte [ebp - 0x16], 0x33
movzx ecx, byte [ebp - 0x13]
sub ecx, 0x5fc9
mov dword [ebp - 0xdc], ecx
jmp 0x1001dde7
cmp dword [0x1007f1a4], 0
je 0x1001ddc4
movsx edx, byte [ebp - 0x11]
mov dword [ebp - 0xa8], edx
jmp 0x1001ddce
movzx eax, byte [ebp - 0x13]
mov dword [ebp - 0xa8], eax
mov cl, byte [ebp - 0xa8]
mov byte [ebp - 0x12], cl
movzx edx, byte [ebp - 0x13]
movsx eax, byte [ebp - 0x12]
sub edx, eax
not edx
mov word [ebp - 0x20], dx
jmp 0x1001de2a
movsx ecx, word [ebp - 0x20]
mov eax, dword [0x1007f1a4]
imul eax, ecx
cdq
mov dword [0x1007f138], eax
mov dword [0x1007f13c], edx
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov dword [ebp - 0x1a4], eax
xor edx, 0x3b5b
mov dword [0x1007f1a4], edx
mov ecx, 0xdd
mov word [0x1007f1a0], cx
mov edx, dword [ebp + 0xc]
push edx
push 0x104
lea eax, [ebp - 0x404]
push eax
call fcn.1005cffb
add esp, 0xc
imul ecx, dword [0x1007f140], 0xf6e0
mov word [0x1007f16c], cx
mov dx, word [ebp - 0x2c]
add dx, 1
mov word [ebp - 0x2c], dx
push 0x100676b8
push 0x104
lea eax, [ebp - 0x404]
push eax
call fcn.1005cffb
add esp, 0xc
mov dword [ebp - 0x6c], 0x5b
xor ecx, ecx
mov dword [0x1007f160], 0x1b37311b
mov dword [0x1007f164], ecx
movzx eax, word [0x1007f1b8]
cdq
sub eax, 0xed4b0300
mov word [0x1007f128], ax
mov dx, word [0x1007f148]
mov eax, 2
imul ecx, eax, 0x63eb
mov word [ecx + 0x103a82f8], dx
movzx edx, byte [0x1007f027]
movsx eax, byte [ebp - 0x14]
imul edx, eax
mov byte [0x1007f027], dl
cmp dword [ebp - 0x54], 0
jne 0x1001deeb
xor ecx, ecx
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0xcc], ecx
jmp 0x1001def6
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov edx, 0x2f4060ce
sub edx, dword [ebp - 0xd0]
mov eax, 0xe9398
sbb eax, dword [ebp - 0xcc]
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x11c]
or ecx, dword [ebp - 0x118]
jne 0x1001df32
mov dword [ebp - 0xac], 1
jmp 0x1001df3c
mov dword [ebp - 0xac], 0
movsx eax, word [ebp - 0x28]
cdq
mov ecx, dword [0x1007f120]
sub ecx, eax
movsx eax, word [ebp - 0x28]
cdq
sub ecx, eax
movsx eax, byte [ebp - 0x12]
movsx edx, word [ebp - 0x20]
and eax, edx
and eax, dword [ebp - 0xac]
cdq
add ecx, eax
mov word [ebp - 0x1c], cx
mov eax, dword [ebp - 0x6c]
add eax, 1
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0x1d40
jl 0x1001debd
mov ecx, dword [ebp + 0xc]
push ecx
push 0x104
lea edx, [ebp - 0x404]
push edx
call fcn.1005cffb
add esp, 0xc
cmp dword [ebp - 0x40], 0
je 0x1001e088
movzx eax, byte [ebp - 0x15]
test eax, eax
je 0x1001e074
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
movzx eax, byte [0x1007f027]
cdq
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], edx
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp - 0x12c]
jne 0x1001e01b
mov eax, dword [ebp - 0x120]
cmp eax, dword [ebp - 0x128]
jne 0x1001e01b
movzx ecx, word [ebp - 0x24]
imul edx, ecx, 0xf3
movzx eax, word [0x1007f16c]
imul eax, edx
mov word [0x1007f16c], ax
mov ecx, dword [ebp - 0x4c]
xor ecx, 0xb9
mov byte [ebp - 0x12], cl
jmp 0x1001e072
mov edx, 0xb8fd
test edx, edx
je 0x1001e072
imul eax, dword [0x1007f1a4], 7
movzx ecx, byte [0x1007f027]
add ecx, eax
mov byte [0x1007f027], cl
movsx edx, byte [ebp - 0x11]
movsx eax, word [ebp - 0x28]
sub edx, eax
jne 0x1001e052
mov dword [ebp - 0xb0], 1
jmp 0x1001e05c
mov dword [ebp - 0xb0], 0
movsx ecx, byte [ebp - 0x12]
not ecx
xor ecx, dword [ebp - 0x40]
imul ecx, dword [ebp - 0xb0]
not ecx
mov word [ebp - 0x30], cx
jmp 0x1001e083
mov dl, byte [ebp - 0x2c]
mov byte [ebp - 0x11], dl
movsx ax, byte [ebp - 0x14]
mov word [ebp - 0x28], ax
jmp 0x1001e126
mov eax, dword [0x1007f144]
cdq
mov ecx, dword [0x1007f160]
mov esi, dword [0x1007f164]
not ecx
not esi
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x138], esi
mov edx, dword [ebp - 0x134]
cmp edx, dword [ebp - 0x13c]
jne 0x1001e126
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x138]
jne 0x1001e126
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
movzx eax, byte [ebp - 0x15]
cdq
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], edx
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x148]
jg 0x1001e126
jl 0x1001e119
mov eax, dword [ebp - 0x144]
cmp eax, dword [ebp - 0x14c]
jae 0x1001e126
movsx eax, word [ebp - 0x28]
cdq
add eax, 0x7fb83311
mov byte [ebp - 0x16], al
push 0x100676c0
push 0x104
lea ecx, [ebp - 0x404]
push ecx
call fcn.1005cffb
add esp, 0xc
push 0
call fcn.10037420
add esp, 4
movzx eax, ax
cdq
mov dword [0x1007f1b0], eax
mov dword [0x1007f1b4], edx
mov edx, dword [0x1007f1b0]
or edx, dword [0x1007f1b4]
je 0x1001e1c8
mov eax, dword [0x1007f1b0]
or eax, dword [0x1007f1b4]
je 0x1001e188
mov dword [ebp - 0x40], 0xfd8d
mov ecx, 0x9bee
mov word [0x1007f1a0], cx
jmp 0x1001e1c8
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x154]
or ecx, dword [ebp - 0x150]
je 0x1001e1c8
movsx edx, byte [ebp - 0x11]
movzx eax, word [0x1007f168]
add edx, eax
movsx ecx, byte [ebp - 0x11]
imul ecx, edx
mov byte [ebp - 0x11], cl
mov edx, dword [ebp - 0x4c]
sub edx, 1
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x17c], 0x100676c4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], str.C:WindowsSystem32_
lea ecx, [ebp - 0x404]
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x16c], 1
mov dword [ebp - 0x168], 0
lea edx, [ebp - 0x17c]
push edx
call fcn.1001e520
add esp, 4
jmp 0x1001e3d8
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x15c]
or edx, dword [ebp - 0x158]
jne 0x1001e340
mov eax, dword [ebp - 0x54]
cdq
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], edx
mov eax, dword [0x1007f1b4]
cmp eax, dword [ebp - 0x160]
jl 0x1001e340
jg 0x1001e277
mov ecx, dword [0x1007f1b0]
cmp ecx, dword [ebp - 0x164]
jbe 0x1001e340
mov dword [ebp - 0x58], 0x31b
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x1a8], eax
sub edx, 0xe58
mov byte [ebp - 0x13], dl
movzx ecx, word [0x1007f1c8]
mov edx, dword [ebp - 0x3c]
lea eax, [ecx + edx + 0x32c9f33b]
mov word [0x1007f1c8], ax
cmp dword [ebp - 0x58], 0x160
jle 0x1001e33b
movzx ecx, byte [0x1007f04e]
cmp dword [ebp - 0x40], ecx
ja 0x1001e2cf
mov dword [ebp - 0xb4], 1
jmp 0x1001e2d9
mov dword [ebp - 0xb4], 0
cmp dword [ebp - 0x40], 0x35
ja 0x1001e2eb
mov dword [ebp - 0xb8], 1
jmp 0x1001e2f5
mov dword [ebp - 0xb8], 0
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0xb8]
jle 0x1001e32d
mov al, byte [0x1007fc38]
mov byte [ebp - 0x16], al
push 0x20247
push 0x94760aa2
mov ecx, dword [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x78]
push edx
call fcn.1005a1b0
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
mov eax, dword [ebp - 0x58]
sub eax, 1
mov dword [ebp - 0x58], eax
jmp 0x1001e2aa
jmp 0x1001e3d6
cmp dword [0x1007f1bc], 0
jne 0x1001e352
cmp dword [ebp - 0xe0], 0
je 0x1001e383
mov ecx, dword [0x1007fc38]
xor edx, edx
mov dword [0x1007f120], ecx
mov dword [0x1007f124], edx
movsx eax, byte [ebp - 0x12]
cdq
add eax, 0x507b6c2d
adc edx, 0x3f1b2
mov dword [0x1007f190], eax
mov dword [0x1007f194], edx
jmp 0x1001e3d6
movzx eax, word [0x1007f1c8]
not eax
test eax, eax
je 0x1001e3a4
movzx ecx, word [0x1007f168]
test ecx, ecx
je 0x1001e3a4
mov dword [ebp - 0x70], 1
jmp 0x1001e3ab
mov dword [ebp - 0x70], 0
mov edx, dword [ebp - 0x70]
not edx
test edx, edx
je 0x1001e3d6
movzx eax, word [0x1007f168]
sar eax, 5
mov byte [0x1007f026], al
mov ecx, dword [0x1007f158]
sub ecx, 0x33775777
mov word [0x1007f14c], cx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret