Function at 0x1002ad10
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100329cd
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x1003d00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword fs:[0x2c]
mov esi, dword [0x100c1ed4]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0dc0]
cmp eax, dword [ecx + 4]
jle 0x1002adb5
push 0x102b0dc0
call fcn.1002e580
add esp, 4
cmp dword [0x102b0dc0], 0xffffffff
jne 0x1002adb5
mov dword [ebp - 4], 0
mov dword [ebp - 0x2c], 0x635f7673
mov dword [ebp - 0x28], 0x74616568
mov word [ebp - 0x24], 0x73
mov byte [ebp - 4], 1
lea edx, [ebp - 0x2c]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0dc0
mov dword [0x102b0da8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0d94]
cmp eax, dword [ecx + 4]
jle 0x1002ae45
push 0x102b0d94
call fcn.1002e580
add esp, 4
cmp dword [0x102b0d94], 0xffffffff
jne 0x1002ae45
mov dword [ebp - 4], 2
mov ecx, 0xf3
xor edx, edx
nop
mov al, byte [edx + 0x10038260]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1002ae0d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x1002adf0
mov byte [ebp - 0x22], 0
mov byte [ebp - 4], 3
lea edx, [ebp - 0x30]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0d94
mov dword [0x102b0dcc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0df8]
cmp eax, dword [ecx + 4]
jle 0x1002aed0
push 0x102b0df8
call fcn.1002e580
add esp, 4
cmp dword [0x102b0df8], 0xffffffff
jne 0x1002aed0
mov dword [ebp - 4], 4
mov ecx, 0x60
xor edx, edx
nop
mov al, byte [edx + 0x10038284]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1002ae9d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x1002ae80
mov byte [ebp - 0x20], 0
mov byte [ebp - 4], 5
lea edx, [ebp - 0x30]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0df8
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0e0c]
cmp eax, dword [ecx + 4]
jle 0x1002af3f
push 0x102b0e0c
call fcn.1002e580
add esp, 4
cmp dword [0x102b0e0c], 0xffffffff
jne 0x1002af3f
mov dword [ebp - 4], 6
mov dword [ebp - 0x28], 0x5f737066
mov dword [ebp - 0x24], 0x78616d
mov byte [ebp - 4], 7
lea edx, [ebp - 0x28]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0e0c
mov dword [0x102b0df0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0dd4]
cmp eax, dword [ecx + 4]
jle 0x1002afb4
push 0x102b0dd4
call fcn.1002e580
add esp, 4
cmp dword [0x102b0dd4], 0xffffffff
jne 0x1002afb4
mov dword [ebp - 4], 8
mov dword [ebp - 0x2c], 0x695f6c63
mov dword [ebp - 0x28], 0x7265746e
mov word [ebp - 0x24], 0x70
mov byte [ebp - 4], 9
lea edx, [ebp - 0x2c]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0dd4
mov dword [0x102b0d9c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0ddc]
cmp eax, dword [ecx + 4]
jle 0x1002b02d
push 0x102b0ddc
call fcn.1002e580
add esp, 4
cmp dword [0x102b0ddc], 0xffffffff
jne 0x1002b02d
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x2c], 0x635f6c63
mov dword [ebp - 0x28], 0x6172646d
mov word [ebp - 0x24], 0x6574
mov byte [ebp - 0x22], 0
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x2c]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0ddc
mov dword [0x102b0dec], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0d98]
cmp eax, dword [ecx + 4]
jle 0x1002b0bc
push 0x102b0d98
call fcn.1002e580
add esp, 4
cmp dword [0x102b0d98], 0xffffffff
jne 0x1002b0bc
mov dword [ebp - 4], 0xc
mov ecx, 0x98
xor edx, edx
mov al, byte [edx + 0x100382c0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1002b084
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x1002b067
mov byte [ebp - 0x23], 0
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x30]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0d98
mov dword [0x102b0d88], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0dac]
cmp eax, dword [ecx + 4]
jle 0x1002b146
push 0x102b0dac
call fcn.1002e580
add esp, 4
cmp dword [0x102b0dac], 0xffffffff
jne 0x1002b146
mov dword [ebp - 4], 0xe
mov ecx, 0x14
xor edx, edx
mov al, byte [edx + str.gcIzqwyvxo]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1002b113
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x1002b0f6
mov byte [ebp - 0x23], 0
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x30]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0dac
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0e08]
cmp eax, dword [ecx + 4]
jle 0x1002b1d5
push 0x102b0e08
call fcn.1002e580
add esp, 4
cmp dword [0x102b0e08], 0xffffffff
jne 0x1002b1d5
mov dword [ebp - 4], 0x10
mov ecx, 0xed
xor edx, edx
mov al, byte [edx + 0x100382e0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1002b19d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x1002b180
mov byte [ebp - 0x23], 0
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x30]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0e08
mov dword [0x102b0d8c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0dd8]
cmp eax, dword [ecx + 4]
jle 0x1002b265
push 0x102b0dd8
call fcn.1002e580
add esp, 4
cmp dword [0x102b0dd8], 0xffffffff
jne 0x1002b265
mov dword [ebp - 4], 0x12
mov ecx, 0xd5
xor edx, edx
nop
mov al, byte [edx + 0x100382d0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1002b22d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x1002b210
mov byte [ebp - 0x21], 0
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0x30]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0dd8
mov dword [0x102b0e14], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0e04]
cmp eax, dword [ecx + 4]
jle 0x1002b2f5
push 0x102b0e04
call fcn.1002e580
add esp, 4
cmp dword [0x102b0e04], 0xffffffff
jne 0x1002b2f5
mov dword [ebp - 4], 0x14
mov ecx, 0xa4
xor edx, edx
nop
mov al, byte [edx + 0x10038304]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1002b2bd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x1002b2a0
mov byte [ebp - 0x20], 0
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0x30]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0e04
mov dword [0x102b0de4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0db4]
cmp eax, dword [ecx + 4]
jle 0x1002b385
push 0x102b0db4
call fcn.1002e580
add esp, 4
cmp dword [0x102b0db4], 0xffffffff
jne 0x1002b385
mov dword [ebp - 4], 0x16
mov ecx, 0x59
xor edx, edx
nop
mov al, byte [edx + 0x100382f0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1002b34d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x1002b330
mov byte [ebp - 0x20], 0
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x30]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0db4
mov dword [0x102b0dc4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0dbc]
cmp eax, dword [ecx + 4]
jle 0x1002b410
push 0x102b0dbc
call fcn.1002e580
add esp, 4
cmp dword [0x102b0dbc], 0xffffffff
jne 0x1002b410
mov dword [ebp - 4], 0x18
mov ecx, 0x81
xor edx, edx
nop
mov al, byte [edx + 0x10038334]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x4c], al
and ecx, 0x800000ff
jns 0x1002b3dd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1a
jl 0x1002b3c0
mov byte [ebp - 0x32], 0
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x4c]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x102b0dbc
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102b0dfc]
cmp eax, dword [ecx + 4]
jle 0x1002b4b6
push 0x102b0dfc
call fcn.1002e580
add esp, 4
cmp dword [0x102b0dfc], 0xffffffff
jne 0x1002b4b6
mov dword [ebp - 4], 0x1a
mov ecx, 0xac
xor edx, edx
nop
mov al, byte [edx + 0x10038318]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x4c], al
and ecx, 0x800000ff
jns 0x1002b46d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1a
jl 0x1002b450
mov byte [ebp - 0x32], 0
mov byte [ebp - 4], 0x1b
lea edx, [ebp - 0x4c]
mov ecx, dword [0x100c21dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
xorps xmm0, xmm0
mov word [ebp - 0x34], 0
push 0x102b0dfc
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x32], 0
movq qword [ebp - 0x3c], xmm0
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov edx, dword [0x102b0e14]
cmp dword [edx + 0x2c], 2
jne 0x1002b4d3
mov eax, dword [edx]
mov ecx, edx
push 1
mov eax, dword [eax + 0x24]
call eax
mov edx, dword [0x102b0e14]
mov eax, dword [0x102b0d88]
mov edi, dword [edx + 0x2c]
mov ecx, dword [eax + 0x2c]
mov eax, dword [0x102b0dc4]
mov esi, dword [eax + 0x2c]
mov eax, dword [0x102b0de4]
mov eax, dword [eax + 0x2c]
cmp eax, ecx
cmovle eax, ecx
cmp esi, eax
cmovg esi, eax
cmp byte [0x100c1f3a], 0
je 0x1002b57c
cmp byte [0x100c1a0c], 0
je 0x1002b58c
mov ecx, dword [0x102b0df0]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x102b0d9c]
movd xmm1, edi
movd xmm0, esi
cvtdq2ps xmm1, xmm1
mov eax, dword [ecx]
push ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x28]
divss xmm1, xmm0
movss dword [esp], xmm1
call eax
mov ecx, dword [0x102b0dec]
mov eax, dword [0x102b0d8c]
mov edx, dword [ecx]
push dword [eax + 0x2c]
mov eax, dword [edx + 0x24]
call eax
mov ecx, dword [0x102b0d88]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x102b0e14]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov byte [0x100c1a0c], 0
jmp 0x1002b58c
cmp byte [0x100c1a0c], 0
jne 0x1002b58c
mov byte [0x100c1a0c], 1
mov ecx, dword [0x102b0dcc]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x100d38c3], 0
je 0x1002b5bc
mov ecx, dword [0x102b0da8]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov byte [0x100c1a0d], 1
jmp 0x1002b5db
cmp byte [0x100c1a0d], 0
je 0x1002b5db
mov ecx, dword [0x102b0da8]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov byte [0x100c1a0d], 0
cmp byte [0x100d37a8], 0
je 0x1002b605
mov ecx, dword [0x100c21dc]
push str.mp_feetyawrate
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push dword [0x100d37ac]
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x24]
call eax
cmp byte [0x100d3881], 0
mov ecx, dword [0x100c21dc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
je 0x1002b624
push 0x10038350
call eax
push 1
jmp 0x1002b62d
push str.fog_override
call eax
push 0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x24]
call eax
mov ecx, dword [0x100c21dc]
push str.fog_color
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
mov ecx, dword [0x100c21dc]
push str.fog_start
mov dword [ebp - 0x50], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
call edx
mov ecx, dword [0x100c21dc]
push str.fog_end
mov dword [ebp - 0x54], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
call edx
mov ecx, dword [0x100c21dc]
push str.fog_maxdensity
mov dword [ebp - 0x24], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
call edx
push dword [0x100d388c]
mov esi, dword [0x100d3890]
lea eax, [ebp - 0x1c]
push dword [0x100d3888]
mov edi, dword [0x100d3894]
push dword [0x100d3884]
push str._i__i__i
push 0xc
push eax
call fcn.10005bb0
mov ecx, dword [ebp - 0x50]
lea edx, [ebp - 0x1c]
add esp, 0x18
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [ebp - 0x54]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [ebp - 0x24]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002e1ce
mov esp, ebp
pop ebp
ret