Function at 0x109bdbe0
Capabilities:
Hash data using crc32b

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10e11e0e
push eax
mov eax, dword [esp + 0x28]
mov dword fs:[0], esp
sub esp, 0xa5c
push ebp
xor ebp, ebp
mov dword [0x10f43384], eax
xor ecx, ecx
mov edx, 0x10ff1c30
push esi
nop
mov eax, ecx
shl eax, 0x18
mov esi, 8
lea ebx, [ebx]
test eax, eax
jns 0x109bdc2d
add eax, eax
xor eax, 0x4c11db7
jmp 0x109bdc2f
shl eax, 1
dec esi
jne 0x109bdc20
mov dword [edx], eax
inc ecx
add edx, 4
cmp ecx, 0x100
jb 0x109bdc10
push ebx
or ebx, 0xffffffff
push edi
xor eax, eax
mov ecx, ebx
xor esi, esi
mov edi, 1
mov dl, cl
inc dl
cmp eax, ebp
mov byte [eax + 0x10ff1b28], dl
je 0x109bdc67
mov edx, edi
shl edx, cl
inc esi
cmp esi, edx
jl 0x109bdc6a
xor esi, esi
inc ecx
inc eax
cmp eax, 0x100
jle 0x109bdc50
mov eax, dword [esp + 0xa80]
cmp word [eax], 0x22
jne 0x109bdcac
mov cx, word [eax + 2]
add eax, 2
cmp cx, bp
je 0x109bdcd0
jmp 0x109bdc90
cmp cx, 0x22
je 0x109bdca4
mov cx, word [eax + 2]
add eax, 2
cmp cx, bp
jne 0x109bdc90
jmp 0x109bdcd0
cmp word [eax], bp
je 0x109bdcd0
add eax, 2
mov cx, word [eax]
cmp cx, bp
je 0x109bdcd0
cmp cx, 0x20
je 0x109bdcc8
mov cx, word [eax + 2]
add eax, 2
cmp cx, bp
jne 0x109bdcb4
jmp 0x109bdcd0
cmp word [eax], bp
je 0x109bdcd0
add eax, 2
push eax
push 0x10ff2038
call fcn.109b8b70
push str.General_protection_fault__r_n_r_nHistory:
push 0x10fcccd0
call fcn.109b8b70
mov ecx, dword [esp + 0xa9c]
mov eax, dword [esp + 0xa98]
mov edx, dword [esp + 0xaa0]
mov dword [0x10f43374], ecx
mov ecx, dword [esp + 0xa94]
mov dword [0x10f43370], eax
mov dword [0x10fcccac], edx
mov dword [0x10f43380], ecx
mov eax, dword [ecx]
add esp, 0x10
call dword [eax + 0x14]
mov ecx, dword [0x10f43384]
mov edx, dword [ecx]
push edi
call dword [edx]
mov eax, dword [0x10f43384]
mov esi, dword [eax]
call fcn.109c0210
mov ecx, dword [0x10f43384]
push eax
call dword [esi + 0x34]
push ebp
push 0x400
lea ecx, [esp + 0x274]
push ecx
push str.COMMAND
push 0x10ff2038
call fcn.109b9410
add esp, 0x14
test eax, eax
je 0x109bdec7
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov edx, dword [0x10f43384]
push ebp
push ebp
push edx
lea eax, [esp + 0x278]
push eax
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0xa88], ebp
call fcn.109bbe30
add esp, 0x14
test eax, eax
jne 0x109bde3b
mov esi, dword [0x11074038]
mov ecx, esi
and ecx, 0xff
shl ecx, 0xb
add ecx, 0x10ff4038
inc esi
mov word [ecx], bp
cmp eax, 0x3ff
jge 0x109bddde
mov dl, byte [eax + str..UnMisc.cpp]
test dl, dl
je 0x109bddde
movzx dx, dl
mov word [ecx + eax*2], dx
inc eax
jmp 0x109bddc2
mov word [ecx + eax*2], bp
mov eax, esi
and eax, 0xff
shl eax, 0xb
add eax, 0x10ff4038
inc esi
mov dword [0x11074038], esi
mov word [eax], bp
xor esi, esi
lea ecx, [ecx]
cmp esi, 0x3ff
jge 0x109bde1d
mov dl, byte [esi + str.appLoadFileToString_Command_CommandFile_GFileManager_]
test dl, dl
je 0x109bde1d
movzx dx, dl
mov word [eax + esi*2], dx
inc esi
jmp 0x109bde00
push 0x8c0
push ecx
push eax
mov word [eax + esi*2], bp
mov eax, dword [0x10f43374]
push str.Assertion_failed:__s__File:_s___Line:__i_
push eax
call fcn.109baf50
add esp, 0x14
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
cmp eax, ebp
mov eax, esi
jne 0x109bde4e
mov eax, 0x10e43c3c
push eax
push 0x10ff2038
call fcn.109b8b70
mov ecx, dword [0x10f43384]
mov edx, dword [ecx]
add esp, 8
push ebp
push ebp
lea eax, [esp + 0x274]
push eax
call dword [edx + 0x10]
mov ecx, dword [0x10f43380]
mov edx, dword [ecx]
push str.FArray
push ebp
push esi
mov dword [esp + 0xa80], edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call dword [edx + 4]
mov dword [esp + 0x10], eax
push ebp
push ebp
lea ecx, [esp + 0x18]
mov dword [esp + 0xa7c], 2
call fcn.10915fc0
mov eax, dword [esp + 0x10]
cmp eax, ebp
mov dword [esp + 0xa74], ebx
je 0x109bdec7
mov ecx, dword [0x10f43380]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
call fcn.109d7a00
call fcn.109c05d0
mov eax, dword [0x10f43370]
push 0x1e
push 0x81
push 0xd29
push str.Version:__i___i._i_
push 0x2fa
push eax
call fcn.109baec0
mov esi, dword [0x11074038]
mov ecx, esi
and ecx, 0xff
shl ecx, 0xb
add ecx, 0x10ff4038
add esp, 0x18
inc esi
mov word [ecx], bp
xor eax, eax
cmp eax, 0x3ff
jge 0x109bdf2e
mov dl, byte [eax + str.14:28:55]
test dl, dl
je 0x109bdf2e
movzx dx, dl
mov word [ecx + eax*2], dx
inc eax
jmp 0x109bdf12
mov word [ecx + eax*2], bp
mov eax, esi
and eax, 0xff
shl eax, 0xb
add eax, 0x10ff4038
inc esi
mov dword [0x11074038], esi
mov word [eax], bp
xor esi, esi
lea ecx, [ecx]
cmp esi, 0x3ff
jge 0x109bdf6d
mov dl, byte [esi + str.Jul_11_2013]
test dl, dl
je 0x109bdf6d
movzx dx, dl
mov word [eax + esi*2], dx
inc esi
jmp 0x109bdf50
push ecx
push eax
push str.Compiled:__s__s
mov word [eax + esi*2], bp
mov eax, dword [0x10f43370]
push 0x2fa
push eax
call fcn.109baec0
mov ecx, dword [0x10f43370]
push 0x10ff2038
push str.Command_line:__s
push 0x2fa
push ecx
call fcn.109baec0
push str.STRICT
push 0x10ff2038
call fcn.109b9600
push str.MAKENAMES
push 0x10ff2038
mov dword [0x10fcef1c], eax
call fcn.109b9600
add esp, 0x34
test eax, eax
je 0x109bdfec
mov edx, dword [0x10f43370]
push str.Transient_objects_will_be_uniquely_named.
push 0x2fa
push edx
mov dword [0x10fcef30], edi
call fcn.109baec0
add esp, 0xc
push str.SOAKING
push 0x10ff2038
call fcn.109b9600
add esp, 8
test eax, eax
je 0x109be008
mov dword [0x10fcef34], edi
push str.SHIP
push 0x10ff2038
call fcn.109b9600
add esp, 8
test eax, eax
je 0x109be024
mov dword [0x10f4382c], ebp
push ebp
push 0x100
push 0x10fcffa8
push 0x10e48300
push 0x10ff2038
call fcn.109b9410
add esp, 0x14
test eax, eax
jne 0x109be2b6
push ebp
push 0x400
push 0x10fcef50
push str.INI
push 0x10ff2038
call fcn.109b9410
add esp, 0x14
test eax, eax
jne 0x109be084
mov eax, dword [esp + 0xa7c]
push eax
push str._s.ini
push 0x10fcef50
call fcn.109b8af0
add esp, 0xc
mov ecx, dword [0x10f43370]
push str._33333333333333_
push 0x2fa
push ecx
call fcn.109baec0
mov ecx, dword [0x10f43384]
mov edx, dword [ecx]
add esp, 0xc
push 0x10fcef50
call dword [edx + 0xc]
test eax, eax
mov esi, dword [esp + 0xa9c]
jge 0x109be191
cmp esi, ebp
je 0x109be191
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
lea eax, [esp + 0x1c]
push eax
mov edx, str.Default.ini
lea edi, [esp + 0x14]
mov dword [esp + 0xa78], 3
call fcn.109bc060
add esp, 4
test eax, eax
jne 0x109be123
push 0x10e63730
push ebp
push ebp
push 0x10e47eb0
push str.MissingIni
push str.Errors
call fcn.109bb470
mov ecx, dword [0x10f43374]
add esp, 0x14
push eax
push ecx
call fcn.109baf50
add esp, 0xc
cmp dword [esp + 0x1c], ebp
jne 0x109be146
mov edx, dword [0x10f43384]
push ebp
push ebp
push edx
lea eax, [esp + 0x1c]
push 0x10fcef50
push eax
call fcn.109bc290
add esp, 0x14
jmp 0x109be154
mov edx, 0x10fcef50
lea edi, [esp + 0x10]
call fcn.109bc4c0
mov ecx, dword [0x10f43380]
mov eax, dword [esp + 0x10]
push str.FArray
push ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov edx, dword [ecx]
push eax
mov dword [esp + 0xa80], 4
call dword [edx + 4]
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 0xa74], ebx
call fcn.109148d0
push ebp
push 0x400
push 0x10fcf750
push str.USERINI
push 0x10ff2038
call fcn.109b9410
add esp, 0x14
test eax, eax
jne 0x109be1c4
push 0x10e46888
push 0x10fcf750
call fcn.109b8b70
add esp, 8
mov ecx, dword [0x10f43384]
mov edx, dword [ecx]
push 0x10fcf750
call dword [edx + 0xc]
test eax, eax
jge 0x109be63b
cmp esi, ebp
je 0x109be63b
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
lea eax, [esp + 0x1c]
push eax
mov edx, str.DefUser.ini
lea edi, [esp + 0x14]
mov dword [esp + 0xa78], 5
call fcn.109bc060
add esp, 4
test eax, eax
jne 0x109be243
push 0x10e636e0
push ebp
push ebp
push 0x10e47eb0
push str.MisingIni
push str.Errors
call fcn.109bb470
mov ecx, dword [0x10f43374]
add esp, 0x14
push eax
push ecx
call fcn.109baf50
add esp, 0xc
cmp dword [esp + 0x1c], ebp
jne 0x109be266
mov edx, dword [0x10f43384]
push ebp
push ebp
push edx
lea eax, [esp + 0x1c]
push 0x10fcf750
push eax
call fcn.109bc290
add esp, 0x14
jmp 0x109be274
mov edx, 0x10fcf750
lea edi, [esp + 0x10]
call fcn.109bc4c0
mov ecx, dword [0x10f43380]
mov eax, dword [esp + 0x10]
push str.FArray
push ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov edx, dword [ecx]
push eax
mov dword [esp + 0xa80], 6
call dword [edx + 4]
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 0xa74], ebx
call fcn.109148d0
jmp 0x109be63b
push 0x10fcffa8
push 0x10e482f4
push str..._s_s
push 0x10fd01a8
call fcn.109b8af0
push 0x10e482f4
push 0x10fd01a8
push str._s_sUT2K4MOD.ini
push 0x10fd09a8
call fcn.109b8af0
mov ecx, dword [0x10f43370]
push str._else_
push 0x2fa
push ecx
call fcn.109baec0
mov ecx, dword [0x10f43384]
mov edx, dword [ecx]
add esp, 0x2c
push 0x10fd09a8
call dword [edx + 0xc]
test eax, eax
jge 0x109be342
push 0x10fcffa8
push ebp
push ebp
push 0x10e47eb0
push str.BadMod
push str.Errors
call fcn.109bb470
add esp, 0x14
push eax
mov eax, dword [0x10f43374]
push eax
call fcn.109baf50
add esp, 0xc
push 0x10fcffa8
push 0x10e482f4
push 0x10e482f4
push 0x10fd01a8
push str._s_sSystem_s_s.ini
push 0x10fcef50
call fcn.109b8af0
mov ecx, dword [0x10f43384]
mov edx, dword [ecx]
add esp, 0x18
push 0x10fcef50
call dword [edx + 0xc]
test eax, eax
mov esi, dword [esp + 0xa9c]
jge 0x109be4c0
cmp esi, ebp
je 0x109be4c0
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
lea ecx, [esp + 0x20]
mov dword [esp + 0xa74], 7
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], 8
call fcn.10916b30
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov ecx, dword [0x10f43384]
mov eax, dword [ecx]
push str.MAT.ini
mov dword [esp + 0xa78], 8
call dword [eax + 0xc]
test eax, eax
lea ecx, [esp + 0x20]
jge 0x109be3f1
push str.Default.ini
jmp 0x109be3f6
push str.MAT.ini
call fcn.10911d40
push 0x10e482f4
push 0x10e482f4
push 0x10fd01a8
lea ecx, [esp + 0x1c]
push str._s_ssystem_sDefault.ini
push ecx
call fcn.109bc8a0
add esp, 0x14
cmp dword [eax + 4], ebp
mov byte [esp + 0xa74], 9
je 0x109be42d
mov eax, dword [eax]
jmp 0x109be432
mov eax, 0x10e43c3c
push eax
lea ecx, [esp + 0x24]
call fcn.109bef10
mov ecx, dword [0x10f43380]
mov eax, dword [esp + 0x10]
push str.FArray
push ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov edx, dword [ecx]
push eax
mov byte [esp + 0xa80], 0xa
call dword [edx + 4]
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
mov byte [esp + 0xa74], 8
call fcn.109148d0
push 0x10fcef50
lea ecx, [esp + 0x24]
mov dword [esp + 0x38], edi
call fcn.109117f0
mov eax, dword [esp + 0x2c]
cmp eax, ebp
mov dword [esp + 0xa74], 0xb
je 0x109be4a8
mov ecx, dword [0x10f43380]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
lea ecx, [esp + 0x20]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0xa74], ebx
call fcn.10916d50
push 0x10fcffa8
push 0x10e482f4
push 0x10e482f4
push 0x10fd01a8
push str._s_sSystem_s_sUser.ini
push 0x10fcf750
call fcn.109b8af0
mov ecx, dword [0x10f43384]
mov eax, dword [ecx]
add esp, 0x18
push 0x10fcf750
call dword [eax + 0xc]
test eax, eax
jge 0x109be63b
cmp esi, ebp
je 0x109be63b
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
lea ecx, [esp + 0x40]
mov dword [esp + 0xa74], 0xc
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], 8
call fcn.10916b30
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov ecx, dword [0x10f43384]
mov edx, dword [ecx]
mov ebx, 0xd
push 0x10e46888
mov dword [esp + 0xa78], ebx
call dword [edx + 0xc]
test eax, eax
lea ecx, [esp + 0x40]
jge 0x109be569
push str.DefUser.ini
jmp 0x109be56e
push 0x10e46888
call fcn.10911d40
push 0x10e482f4
push 0x10e482f4
push 0x10fd01a8
lea eax, [esp + 0x6c]
push str._s_ssystem_sDefUser.ini
push eax
call fcn.109bc8a0
add esp, 0x14
cmp dword [eax + 4], ebp
mov byte [esp + 0xa74], 0xe
je 0x109be5a5
mov eax, dword [eax]
jmp 0x109be5aa
mov eax, 0x10e43c3c
push eax
lea ecx, [esp + 0x44]
call fcn.109bef10
mov ecx, dword [0x10f43380]
mov eax, dword [esp + 0x60]
push str.FArray
push ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov edx, dword [ecx]
push eax
mov byte [esp + 0xa80], 0xf
call dword [edx + 4]
lea ecx, [esp + 0x60]
mov dword [esp + 0x60], eax
mov byte [esp + 0xa74], bl
call fcn.109148d0
push 0x10fcf750
lea ecx, [esp + 0x44]
mov dword [esp + 0x58], edi
call fcn.109117f0
mov eax, dword [esp + 0x4c]
cmp eax, ebp
mov dword [esp + 0xa74], 0x10
je 0x109be61f
mov ecx, dword [0x10f43380]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
lea ecx, [esp + 0x40]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0xa74], 0xffffffff
call fcn.10916d50
mov eax, dword [0x10f43370]
push str.Unicode
push str.Character_set:__s
push 0x2fa
push eax
call fcn.109baec0
call fcn.109c0210
mov ecx, dword [0x10f43370]
push eax
push str.Base_directory:__s
push 0x2fa
push ecx
call fcn.109baec0
mov edx, dword [0x10f43370]
push 0x10fcf750
push 0x10fcef50
push str.Ini:_s___UserIni:_s
push 0x2fa
push edx
call fcn.109baec0
add esp, 0x34
call dword [esp + 0xa98]
push esi
push 0x10fcf750
mov dword [0x10fcccb0], eax
mov edx, dword [eax]
push 0x10fcef50
mov ecx, eax
call dword [edx + 0x44]
mov ecx, dword [0x10fcccb0]
mov eax, dword [ecx]
push ebp
push 0x100
lea edx, [esp + 0x74]
push edx
push 0x10e5a280
push str.Engine.Engine
call dword [eax + 0x10]
test eax, eax
pop edi
pop ebx
je 0x109be6e5
lea eax, [esp + 0x64]
push eax
call fcn.109c7b50
add esp, 4
mov ecx, dword [0x10fcccb0]
mov edx, dword [ecx]
push str.Build.ini
push 0x100
lea eax, [esp + 0x6c]
push eax
push str.Label
push str.BuildVersion
call dword [edx + 0x10]
test eax, eax
jne 0x109be728
mov ecx, dword [0x10f43370]
push str.Build_label_absent_
push 0x2ff
push ecx
call fcn.109baec0
add esp, 0xc
jmp 0x109be799
cmp dword [0x10fceeec], ebp
jne 0x109be764
call fcn.109c0470
lea edx, [esp + 0x64]
push edx
push ebp
push ebp
push eax
push str.Abbreviation
push str.General
call fcn.109bb470
add esp, 0x14
push eax
push str._s_Build__s
push str.No_Label
call fcn.109b8af0
add esp, 0x10
jmp 0x109be77b
lea eax, [esp + 0x64]
push eax
push str.Build__s
push str.No_Label
call fcn.109b8af0
add esp, 0xc
mov ecx, dword [0x10f43370]
push str.No_Label
push str.Build_label:__s
push 0x2fa
push ecx
call fcn.109baec0
add esp, 0x10
call fcn.109cdf60
push 0x10000
mov ecx, 0x10fccc90
call fcn.109fe3f0
call fcn.109c1d40
cmp dword [0x10ff2030], ebp
je 0x109be85b
mov esi, dword [0x11074038]
mov ecx, esi
and ecx, 0xff
shl ecx, 0xb
add ecx, 0x10ff4038
inc esi
mov word [ecx], bp
xor eax, eax
jmp 0x109be7e0
cmp eax, 0x3ff
jge 0x109be7fc
mov dl, byte [eax + str..UnMisc.cpp]
test dl, dl
je 0x109be7fc
movzx dx, dl
mov word [ecx + eax*2], dx
inc eax
jmp 0x109be7e0
mov word [ecx + eax*2], bp
mov eax, esi
and eax, 0xff
shl eax, 0xb
add eax, 0x10ff4038
inc esi
mov dword [0x11074038], esi
mov word [eax], bp
xor esi, esi
jmp 0x109be820
cmp esi, 0x3ff
jge 0x109be83d
mov dl, byte [esi + str.gethostbyname_mutex__NULL]
test dl, dl
je 0x109be83d
movzx dx, dl
mov word [eax + esi*2], dx
inc esi
jmp 0x109be820
push 0x960
push ecx
push eax
mov word [eax + esi*2], bp
mov eax, dword [0x10f43374]
push str.Assertion_failed:__s__File:_s___Line:__i_
push eax
call fcn.109baf50
add esp, 0x14
mov ecx, dword [0x10f43380]
mov edx, dword [ecx]
push 0x10e4401c
push 4
call dword [edx]
mov dword [esp + 0x14], eax
cmp eax, ebp
mov dword [esp + 0xa6c], 0x11
pop esi
je 0x109be889
mov ecx, eax
call fcn.109c0110
jmp 0x109be88b
xor eax, eax
mov ecx, dword [esp + 0xa60]
mov dword [0x10ff2030], eax
pop ebp
mov dword fs:[0], ecx
add esp, 0xa68
ret