Function at 0x10057170
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Contain obfuscated stackstrings
Get number of processors
Get process heap flags
Parse pe header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b984c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1d0
mov eax, dword [0x100d4364]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x30], edi
push str.aimbot
lea ecx, [ebp - 0x48]
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0
push eax
mov ecx, edi
call fcn.1004b4f0
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 1
call fcn.1002bd20
push str.enable
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002bd70
push str.enable
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 2
call fcn.1002bd70
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 3
push eax
lea ecx, [edi + 0x68]
call fcn.1004b4f0
lea eax, [ebp - 0x48]
mov byte [edi + 0x99], 1
push eax
lea ecx, [edi + 0xa0]
call fcn.1004b4f0
mov byte [edi + 0x9c], 0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 5
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x30]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.silent_aim
lea ecx, [ebp - 0x60]
call fcn.1002bd70
push str.silent_aim_aimbot
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 6
call fcn.1002bd70
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 7
push eax
lea ecx, [edi + 0xf0]
call fcn.1004b4f0
lea eax, [ebp - 0x48]
mov byte [edi + 0x121], 1
push eax
lea ecx, [edi + 0x128]
call fcn.1004b4f0
mov byte [edi + 0x124], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x48]
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 9
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xb8]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push 0x100c4d54
lea ecx, [ebp - 0x108]
call fcn.1002bd70
push str.medium
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xa
call fcn.1002bd70
lea eax, [ebp - 0x21]
mov dword [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0xd8]
push ecx
lea edx, [ebp - 0x108]
push edx
lea ecx, [ebp - 0x74]
call fcn.1002b800
push str.record_selection
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xc
call fcn.1002bd70
push str.history_aim
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xd
call fcn.1002bd70
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [edi + 0x178]
call fcn.1004b4f0
lea eax, [ebp - 0x48]
mov byte [edi + 0x1a9], 1
push eax
lea ecx, [edi + 0x1b0]
call fcn.1004b4f0
mov esi, dword [ebp - 0x74]
xor ecx, ecx
cmp byte [edi + 0x1a9], cl
mov edx, 0xf
cmovne ecx, edx
mov dword [edi + 0x1dc], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x150], eax
lea ecx, [edi + 0x1c8]
mov dword [edi + 0x154], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1005742f
mov edi, ecx
push esi
mov ecx, edi
call fcn.10052370
add esi, 0x18
cmp esi, dword [ebp - 0x18]
jne 0x10057416
mov edi, dword [ebp - 0x30]
lea ecx, [edi + 0x1c8]
call fcn.1002b6e0
test eax, eax
je 0x10057442
mov dword [edi + 0x1d8], 0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xf
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x10
call fcn.1002bd20
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x11
call fcn.1002be80
push fcn.1002bd20
push 2
push 0x18
lea eax, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [edi + 0x140]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push 0x100c4d78
lea ecx, [ebp - 0x80]
lea esi, [edi + 0x1e0]
call fcn.1007afa0
push str.max_targets
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x12
call fcn.1002bd70
push str.max_targets_per_tick
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x13
call fcn.1002bd70
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [edi + 0x218]
call fcn.1004b4f0
lea eax, [ebp - 0x48]
mov byte [edi + 0x249], 1
push eax
lea ecx, [edi + 0x268]
call fcn.1004b4f0
xor ecx, ecx
mov dword [edi + 0x254], 0x40400000
cmp byte [esi + 0x69], cl
mov eax, 0xf
mov dword [edi + 0x258], 0x41200000
cmovne ecx, eax
mov dword [edi + 0x250], 0x40a00000
mov dword [edi + 0x298], ecx
mov dword [edi + 0x264], 0
mov dword [edi + 0x25c], 0x3f800000
lea eax, [ecx + 8]
mov dword [edi + 0x1f0], eax
lea ecx, [edi + 0x280]
mov dword [edi + 0x1f4], eax
lea eax, [ebp - 0x80]
push eax
call fcn.1007af70
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x15
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x16
call fcn.1002bd20
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x17
call fcn.10052680
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.head
lea ecx, [ebp - 0x138]
call fcn.1002bd70
push str.chest
lea ecx, [ebp - 0x120]
mov dword [ebp - 4], 0x18
call fcn.1002bd70
push str.body
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x19
call fcn.1002bd70
push str.legs
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x1a
call fcn.1002bd70
lea eax, [ebp - 0x21]
mov dword [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0xd8]
push ecx
lea edx, [ebp - 0x138]
push edx
lea ecx, [ebp - 0x54]
call fcn.1002b800
push str.hitbox
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x1c
call fcn.1002bd70
push str.hitbox
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1d
call fcn.1002bd70
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [edi + 0x2d4]
call fcn.1004b4f0
lea eax, [ebp - 0x48]
mov byte [edi + 0x305], 1
push eax
lea ecx, [edi + 0x30c]
call fcn.1004b4f0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x305], al
cmovne eax, ecx
mov esi, dword [ebp - 0x54]
mov dword [edi + 0x340], eax
add eax, 0x14
mov dword [edi + 0x2ac], eax
mov dword [edi + 0x2b0], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10057715
lea eax, [edi + 0x324]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.10052370
mov eax, dword [ebp - 0x18]
add esi, 0x18
cmp esi, edi
jne 0x10057700
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x78]
xor esi, esi
mov ecx, dword [ebp - 0x74]
sub ecx, edx
mov dword [ebp - 0x2c], 0
add ecx, 3
mov dword [ebp - 0x1c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x74]
cmova ecx, esi
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x100577f0
lea ecx, [edi + 0x334]
nop word [eax + eax]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1002b5c0
lea ecx, [edi + 0x334]
mov esi, dword [eax]
lea eax, [ebp - 0xa0]
push eax
call fcn.1002b5d0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xa4]
push dword [eax]
call fcn.1002c6e0
add esp, 8
lea ecx, [edi + 0x334]
mov esi, eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002b5c0
mov esi, dword [esi]
lea ecx, [edi + 0x324]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
call fcn.1002b6e0
cmp dword [ebp - 0x18], eax
jae 0x100577c0
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x334]
call fcn.10043a50
cmp esi, dword [ebp - 0x28]
jne 0x100577d1
mov eax, dword [edi + 0x300]
test eax, eax
je 0x100577d1
call eax
mov eax, dword [ebp - 0x2c]
lea ecx, [edi + 0x334]
mov edx, dword [ebp - 0x1c]
inc eax
add edx, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], edx
cmp eax, dword [ebp - 0x20]
jne 0x10057750
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x20
call fcn.1002b840
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x21
call fcn.1002bd20
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x22
call fcn.1002bd20
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x23
call fcn.1002be80
push fcn.1002bd20
push 4
push 0x18
lea eax, [ebp - 0x138]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [edi + 0x29c]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.head
lea ecx, [ebp - 0x138]
call fcn.1002bd70
push str.chest
lea ecx, [ebp - 0x120]
mov dword [ebp - 4], 0x24
call fcn.1002bd70
push str.body
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x25
call fcn.1002bd70
push str.legs
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x26
call fcn.1002bd70
lea eax, [ebp - 0x21]
mov dword [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0xd8]
push ecx
lea edx, [ebp - 0x138]
push edx
lea ecx, [ebp - 0x54]
call fcn.1002b800
push str.multipoint
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x28
call fcn.1002bd70
push str.multipoint
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x29
call fcn.1002bd70
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [edi + 0x37c]
call fcn.1004b4f0
lea eax, [ebp - 0x98]
mov byte [edi + 0x3ad], 1
push eax
lea ecx, [edi + 0x3b4]
call fcn.1004b4f0
mov esi, dword [ebp - 0x54]
xor ecx, ecx
cmp byte [edi + 0x3ad], cl
mov eax, 0xf
cmovne ecx, eax
mov dword [edi + 0x3e8], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x354], eax
mov dword [edi + 0x358], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x100579a7
lea eax, [edi + 0x3cc]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
push esi
mov ecx, eax
call fcn.10052370
mov eax, dword [ebp - 0x28]
add esi, 0x18
cmp esi, edi
jne 0x10057992
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x78]
xor esi, esi
mov ecx, dword [ebp - 0x74]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x2c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x74]
cmova ecx, esi
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x10057a78
lea ecx, [edi + 0x3dc]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002b5c0
lea ecx, [edi + 0x3dc]
mov esi, dword [eax]
lea eax, [ebp - 0xa4]
push eax
call fcn.1002b5d0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xa0]
push dword [eax]
call fcn.1002c6e0
add esp, 8
lea ecx, [edi + 0x3dc]
mov esi, eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1002b5c0
mov esi, dword [esi]
lea ecx, [edi + 0x3cc]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
call fcn.1002b6e0
cmp dword [ebp - 0x18], eax
jae 0x10057a48
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x3dc]
call fcn.10043a50
cmp esi, dword [ebp - 0x20]
jne 0x10057a59
mov eax, dword [edi + 0x3a8]
test eax, eax
je 0x10057a59
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x3dc]
mov edx, dword [ebp - 0x2c]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
cmp eax, dword [ebp - 0x28]
jne 0x100579d8
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x2c
call fcn.1002b840
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x2d
call fcn.1002bd20
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x2e
call fcn.1002bd20
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x2f
call fcn.1002be80
push fcn.1002bd20
push 4
push 0x18
lea eax, [ebp - 0x138]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [edi + 0x344]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.head
lea ecx, [ebp - 0x108]
call fcn.1002bd70
push str.body
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0x30
call fcn.1002bd70
lea eax, [ebp - 0x21]
mov dword [ebp - 4], 0x31
push eax
lea ecx, [ebp - 0xd8]
push ecx
lea edx, [ebp - 0x108]
push edx
lea ecx, [ebp - 0x54]
call fcn.1002b800
push str.prefer_safepoints
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x32
call fcn.1002bd70
push str.prefer_safe_points
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x33
call fcn.1002bd70
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x35
push eax
lea ecx, [edi + 0x54c]
call fcn.1004b4f0
lea eax, [ebp - 0x98]
mov byte [edi + 0x57d], 1
push eax
lea ecx, [edi + 0x584]
call fcn.1004b4f0
mov esi, dword [ebp - 0x54]
xor ecx, ecx
cmp byte [edi + 0x57d], cl
mov eax, 0xf
cmovne ecx, eax
mov dword [edi + 0x5b8], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x524], eax
mov dword [edi + 0x528], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x10057c07
lea eax, [edi + 0x59c]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
push esi
mov ecx, eax
call fcn.10052370
mov eax, dword [ebp - 0x28]
add esi, 0x18
cmp esi, edi
jne 0x10057bf2
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x78]
xor esi, esi
mov ecx, dword [ebp - 0x74]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x2c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x74]
cmova ecx, esi
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x10057cd8
lea ecx, [edi + 0x5ac]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002b5c0
lea ecx, [edi + 0x5ac]
mov esi, dword [eax]
lea eax, [ebp - 0xa4]
push eax
call fcn.1002b5d0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xa0]
push dword [eax]
call fcn.1002c6e0
add esp, 8
lea ecx, [edi + 0x5ac]
mov esi, eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1002b5c0
mov esi, dword [esi]
lea ecx, [edi + 0x59c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
call fcn.1002b6e0
cmp dword [ebp - 0x18], eax
jae 0x10057ca8
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x5ac]
call fcn.10043a50
cmp esi, dword [ebp - 0x20]
jne 0x10057cb9
mov eax, dword [edi + 0x578]
test eax, eax
je 0x10057cb9
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x5ac]
mov edx, dword [ebp - 0x2c]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
cmp eax, dword [ebp - 0x28]
jne 0x10057c38
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x36
call fcn.1002b840
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x37
call fcn.1002bd20
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x38
call fcn.1002bd20
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x39
call fcn.1002be80
push fcn.1002bd20
push 2
push 0x18
lea eax, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [edi + 0x514]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.prefer_center_sideway
lea ecx, [ebp - 0x48]
call fcn.1002bd70
push str.prefer_center_on_sideway
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x3a
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [edi + 0x424]
call fcn.1004b4f0
lea eax, [ebp - 0x98]
mov byte [edi + 0x455], 1
push eax
lea ecx, [edi + 0x45c]
call fcn.1004b4f0
mov byte [edi + 0x458], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x3c
call fcn.1002bd20
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x3d
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x3ec]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push 0x100c2054
lea ecx, [ebp - 0x120]
call fcn.1002bd70
push str.prefer
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0x3e
call fcn.1002bd70
push str.prefer_center_body
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x3f
call fcn.1002bd70
lea eax, [ebp - 0x21]
mov dword [ebp - 4], 0x40
push eax
lea ecx, [ebp - 0xd8]
push ecx
lea edx, [ebp - 0x120]
push edx
lea ecx, [ebp - 0x54]
call fcn.1002b800
push 0x100c4e2c
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x41
call fcn.1002bd70
push str.prefer_center
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x42
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [edi + 0x4ac]
call fcn.1004b4f0
lea eax, [ebp - 0x98]
mov byte [edi + 0x4dd], 1
push eax
lea ecx, [edi + 0x4e4]
call fcn.1004b4f0
mov esi, dword [ebp - 0x54]
xor ecx, ecx
cmp byte [edi + 0x4dd], cl
mov eax, 0xf
cmovne ecx, eax
mov dword [edi + 0x510], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x484], eax
lea ecx, [edi + 0x4fc]
mov dword [edi + 0x488], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x28], eax
cmp esi, eax
je 0x10057f29
mov dword [ebp - 0x20], ecx
mov edi, ecx
nop dword [eax + eax]
push esi
mov ecx, edi
call fcn.10052370
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10057f10
mov edi, dword [ebp - 0x30]
lea ecx, [edi + 0x4fc]
call fcn.1002b6e0
test eax, eax
je 0x10057f3c
mov dword [edi + 0x50c], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x44
call fcn.1002bd20
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x45
call fcn.1002bd20
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x46
call fcn.1002be80
push fcn.1002bd20
push 3
push 0x18
lea eax, [ebp - 0x120]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [edi + 0x474]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push 0x100c4e8c
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x5bc]
call fcn.1007afa0
push str.head_scale
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x47
call fcn.1002bd70
push str.head_pointscale
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x48
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x49
push eax
lea ecx, [edi + 0x5f4]
call fcn.1004b4f0
lea eax, [ebp - 0x98]
mov byte [edi + 0x625], 1
push eax
lea ecx, [edi + 0x644]
call fcn.1004b4f0
xor ecx, ecx
mov dword [edi + 0x630], 0x42340000
cmp byte [esi + 0x69], cl
mov eax, 0xf
mov dword [edi + 0x634], 0x42aa0000
cmovne ecx, eax
mov dword [edi + 0x62c], 0x42820000
mov dword [edi + 0x674], ecx
mov dword [edi + 0x640], 0
mov dword [edi + 0x638], 0x3f800000
lea eax, [ecx + 8]
mov dword [edi + 0x5cc], eax
lea ecx, [edi + 0x65c]
mov dword [edi + 0x5d0], eax
lea eax, [ebp - 0x60]
push eax
call fcn.1007af70
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x4a
call fcn.1002bd20
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x4b
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x4c
call fcn.10052680
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x100340f0
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push 0x100c4e8c
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x678]
call fcn.1007afa0
push str.height_scale
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x4d
call fcn.1002bd70
push str.head_height_pointscale
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x4e
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [edi + 0x6b0]
call fcn.1004b4f0
lea eax, [ebp - 0x98]
mov byte [edi + 0x6e1], 1
push eax
lea ecx, [edi + 0x700]
call fcn.1004b4f0
xor eax, eax
mov dword [edi + 0x6ec], 0x42340000
cmp byte [edi + 0x6e1], al
mov ecx, 0xf
mov dword [edi + 0x6f0], 0x42aa0000
cmovne eax, ecx
mov dword [edi + 0x6e8], 0x42480000
mov dword [edi + 0x730], eax
lea ecx, [edi + 0x718]
add eax, 8
mov dword [edi + 0x6fc], 0
mov dword [edi + 0x688], eax
mov dword [edi + 0x68c], eax
lea eax, [ebp - 0x60]
push eax
mov dword [edi + 0x6f4], 0x3f800000
call fcn.1007af70
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x50
call fcn.1002bd20
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x51
call fcn.1002bd20
mov dword [ebp - 4], 0x52
lea ecx, [ebp - 0x60]
call fcn.10052680
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x100340f0
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push 0x100c4e8c
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x734]
call fcn.1007afa0
push str.body_scale
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x53
call fcn.1002bd70
push str.body_pointscale
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x54
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x55
push eax
lea ecx, [edi + 0x76c]
call fcn.1004b4f0
lea eax, [ebp - 0x98]
mov byte [edi + 0x79d], 1
push eax
lea ecx, [edi + 0x7bc]
call fcn.1004b4f0
xor eax, eax
mov dword [edi + 0x7a8], 0x420c0000
cmp byte [edi + 0x79d], al
mov ecx, 0xf
mov dword [edi + 0x7ac], 0x42b40000
cmovne eax, ecx
mov dword [edi + 0x7a4], 0x42480000
mov dword [edi + 0x7ec], eax
lea ecx, [edi + 0x7d4]
add eax, 8
mov dword [edi + 0x7b8], 0
mov dword [edi + 0x744], eax
mov dword [edi + 0x748], eax
lea eax, [ebp - 0x60]
push eax
mov dword [edi + 0x7b0], 0x3f800000
call fcn.1007af70
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x56
call fcn.1002bd20
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x57
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x58
call fcn.10052680
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10034120
lea eax, [ebp - 0x20]
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push 0x100c4eec
lea ecx, [ebp - 0x80]
call fcn.1007afa0
push str.minimal_damage
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x59
call fcn.1002bd70
push str.minimum_dmg
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x5a
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [edi + 0x828]
call fcn.1004b4f0
lea eax, [ebp - 0x98]
mov byte [edi + 0x859], 1
push eax
lea ecx, [edi + 0x878]
call fcn.1004b4f0
xor eax, eax
mov dword [edi + 0x864], 0x3f800000
cmp byte [edi + 0x859], al
mov ecx, 0xf
mov dword [edi + 0x868], 0x42fc0000
cmovne eax, ecx
mov dword [edi + 0x860], 0x42200000
mov dword [edi + 0x8a8], eax
lea ecx, [edi + 0x890]
add eax, 8
mov dword [edi + 0x874], 0
mov dword [edi + 0x800], eax
mov dword [edi + 0x804], eax
lea eax, [ebp - 0x80]
push eax
mov dword [edi + 0x86c], 0x3f800000
call fcn.1007af70
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x5c
call fcn.1002bd20
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x5d
call fcn.1002bd20
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x5e
call fcn.10052680
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x7f0]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.scale_dmg
lea ecx, [ebp - 0xbc]
call fcn.1002bd70
push str.scale_dmg_to_hp
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x5f
call fcn.1002bd70
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x60
push eax
lea ecx, [edi + 0x8e4]
call fcn.1004b4f0
lea eax, [ebp - 0x98]
mov byte [edi + 0x915], 1
push eax
lea ecx, [edi + 0x91c]
call fcn.1004b4f0
mov byte [edi + 0x918], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x61
call fcn.1002bd20
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0x62
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x8ac]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push 0x100c2054
lea ecx, [ebp - 0x180]
call fcn.1002bd70
push str.always
lea ecx, [ebp - 0x168]
mov dword [ebp - 4], 0x63
call fcn.1002bd70
push str.inaccurate
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x64
call fcn.1002bd70
lea eax, [ebp - 0x21]
mov dword [ebp - 4], 0x65
push eax
lea ecx, [ebp - 0x138]
push ecx
lea edx, [ebp - 0x180]
push edx
lea ecx, [ebp - 0x54]
call fcn.1002b800
push 0x100c4f10
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x66
call fcn.1002bd70
mov byte [ebp - 4], 0x67
push str.auto_scope
lea ecx, [ebp - 0xbc]
call fcn.1002bd70
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x68
push eax
lea ecx, [edi + 0x96c]
call fcn.1004b4f0
lea eax, [ebp - 0xbc]
mov byte [edi + 0x99d], 1
push eax
lea ecx, [edi + 0x9a4]
call fcn.1004b4f0
mov esi, dword [ebp - 0x54]
xor ecx, ecx
cmp byte [edi + 0x99d], cl
mov eax, 0xf
cmovne ecx, eax
mov dword [edi + 0x9d0], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x944], eax
lea ecx, [edi + 0x9bc]
mov dword [edi + 0x948], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x28], eax
cmp esi, eax
je 0x1005869d
mov dword [ebp - 0x20], ecx
mov edi, ecx
push esi
mov ecx, edi
call fcn.10052370
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10058684
mov edi, dword [ebp - 0x30]
lea ecx, [edi + 0x9bc]
call fcn.1002b6e0
test eax, eax
je 0x100586b0
mov dword [edi + 0x9cc], 0
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x69
call fcn.1002bd20
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x6a
call fcn.1002bd20
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x6b
call fcn.1002be80
push fcn.1002bd20
push 3
push 0x18
lea eax, [ebp - 0x180]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [edi + 0x934]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.norecoil
lea ecx, [ebp - 0x48]
call fcn.1002bd70
push str.compensate_recoil
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0x6c
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x6d
push eax
lea ecx, [edi + 0xa0c]
call fcn.1004b4f0
lea eax, [ebp - 0xbc]
mov byte [edi + 0xa3d], 1
push eax
lea ecx, [edi + 0xa44]
call fcn.1004b4f0
mov byte [edi + 0xa40], 0
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x6e
call fcn.1002bd20
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x6f
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x9d4]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
lea esi, [edi + 0xa5c]
push 0x100c4e8c
lea ecx, [ebp - 0x80]
call fcn.1007afa0
push 0x100c4f48
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x70
call fcn.1002bd70
push str.hit_chance
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x71
call fcn.1002bd70
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x72
push eax
lea ecx, [edi + 0xa94]
call fcn.1004b4f0
lea eax, [ebp - 0xbc]
mov byte [edi + 0xac5], 1
push eax
lea ecx, [edi + 0xae4]
call fcn.1004b4f0
xor ecx, ecx
mov dword [edi + 0xad0], 0
cmp byte [esi + 0x69], cl
mov eax, 0xf
mov dword [edi + 0xad4], 0x42c80000
cmovne ecx, eax
mov dword [edi + 0xacc], 0x42480000
mov dword [edi + 0xb14], ecx
mov dword [edi + 0xae0], 0
mov dword [edi + 0xad8], 0x3f800000
lea eax, [ecx + 8]
mov dword [edi + 0xa6c], eax
lea ecx, [edi + 0xafc]
mov dword [edi + 0xa70], eax
lea eax, [ebp - 0x80]
push eax
call fcn.1007af70
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x73
call fcn.1002bd20
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x74
call fcn.1002bd20
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x75
call fcn.10052680
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10034340
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push 0x100c4e8c
lea ecx, [ebp - 0xd4]
add edi, 0xb18
call fcn.1007afa0
mov dword [ebp - 4], 0x76
push str.dmg_accuracy
lea ecx, [ebp - 0x98]
call fcn.1002bd70
push 0x100c4f6c
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x77
call fcn.1002bd70
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], 0x78
lea ecx, [esi + 0xb50]
call fcn.1004b4f0
lea eax, [ebp - 0xbc]
mov byte [esi + 0xb81], 1
push eax
lea ecx, [esi + 0xba0]
call fcn.1004b4f0
xor eax, eax
mov dword [esi + 0xb8c], 0
cmp byte [esi + 0xb81], al
mov ecx, 0xf
mov dword [esi + 0xb90], 0x42c80000
cmovne eax, ecx
mov dword [esi + 0xb88], 0x42480000
mov dword [esi + 0xbd0], eax
lea ecx, [esi + 0xbb8]
add eax, 8
mov dword [esi + 0xb9c], 0
mov dword [esi + 0xb28], eax
mov dword [esi + 0xb2c], eax
lea eax, [ebp - 0xd4]
push eax
mov dword [esi + 0xb94], 0x3f800000
call fcn.1007af70
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x79
call fcn.1002bd20
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x7a
call fcn.1002bd20
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0x7b
call fcn.10052680
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
push eax
lea ecx, [edi + 0x58]
mov dword [ebp - 0x20], 0x10034340
call fcn.10043a50
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100340c0
push eax
lea ecx, [edi + 0x58]
call fcn.10043a50
mov dword [ebp - 0x1c], edi
mov dword [edi + 0x18], 1
mov edi, esi
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push 0x100c2054
lea ecx, [ebp - 0x120]
call fcn.1002bd70
mov dword [ebp - 4], 0x7c
push str.delay
lea ecx, [ebp - 0x108]
call fcn.1002bd70
push str.predict
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x7d
call fcn.1002bd70
lea eax, [ebp - 0x21]
mov dword [ebp - 4], 0x7e
push eax
lea ecx, [ebp - 0xd8]
push ecx
lea edx, [ebp - 0x120]
push edx
lea ecx, [ebp - 0x54]
call fcn.1002b800
push str.lagfix
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x7f
call fcn.1002bd70
push str.lagfix
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x80
call fcn.1002bd70
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x81
push eax
lea ecx, [edi + 0xc0c]
call fcn.1004b4f0
lea eax, [ebp - 0xd4]
mov byte [edi + 0xc3d], 1
push eax
lea ecx, [edi + 0xc44]
call fcn.1004b4f0
mov esi, dword [ebp - 0x54]
xor eax, eax
cmp byte [edi + 0xc3d], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xc70], eax
add eax, 0x14
mov dword [edi + 0xbe4], eax
mov dword [edi + 0xbe8], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x28], eax
cmp esi, eax
je 0x10058bb4
lea eax, [edi + 0xc5c]
mov edi, eax
push esi
mov ecx, edi
call fcn.10052370
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10058ba1
mov edi, dword [ebp - 0x30]
mov ecx, dword [edi + 0xc60]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0xc5c]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10058bdd
mov dword [edi + 0xc6c], 0
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x82
call fcn.1002bd20
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x83
call fcn.1002bd20
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x84
call fcn.1002be80
push fcn.1002bd20
push 3
push 0x18
lea eax, [ebp - 0x120]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [edi + 0xbd4]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.delay_shot_on_fluctuate
lea ecx, [ebp - 0x168]
call fcn.1002bd70
push str.delay_shot_on_very_high_speed
lea ecx, [ebp - 0x150]
mov dword [ebp - 4], 0x85
call fcn.1002bd70
lea eax, [ebp - 0x21]
mov dword [ebp - 4], 0x86
push eax
lea ecx, [ebp - 0x138]
push ecx
lea edx, [ebp - 0x168]
push edx
lea ecx, [ebp - 0x54]
call fcn.1002b800
push str.lagfix_modifiers
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x87
call fcn.1002bd70
push 0x100c2118
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x88
call fcn.1002bd70
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x8a
push eax
lea ecx, [edi + 0xcac]
call fcn.1004b4f0
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp - 0x54]
cmp esi, eax
mov byte [edi + 0xcdd], 0
mov dword [edi + 0xd18], 0
mov dword [edi + 0xc84], 0x14
mov dword [edi + 0xc88], 0x14
mov dword [ebp - 0x20], eax
je 0x10058d55
lea eax, [edi + 0xcfc]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
nop dword [eax + eax]
push esi
mov ecx, eax
call fcn.10052370
mov eax, dword [ebp - 0x28]
add esi, 0x18
cmp esi, edi
jne 0x10058d40
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x78]
xor esi, esi
mov ecx, dword [ebp - 0x74]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x2c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x74]
cmova ecx, esi
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x10058e26
lea ecx, [edi + 0xd0c]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002b5c0
lea ecx, [edi + 0xd0c]
mov esi, dword [eax]
lea eax, [ebp - 0xa4]
push eax
call fcn.1002b5d0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xa0]
push dword [eax]
call fcn.1002c6e0
add esp, 8
lea ecx, [edi + 0xd0c]
mov esi, eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1002b5c0
mov esi, dword [esi]
lea ecx, [edi + 0xcfc]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
call fcn.1002b6e0
cmp dword [ebp - 0x18], eax
jae 0x10058df6
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xd0c]
call fcn.10043a50
cmp esi, dword [ebp - 0x20]
jne 0x10058e07
mov eax, dword [edi + 0xcd8]
test eax, eax
je 0x10058e07
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0xd0c]
mov edx, dword [ebp - 0x2c]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
cmp eax, dword [ebp - 0x28]
jne 0x10058d86
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x8b
call fcn.1002b840
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x8c
call fcn.1002bd20
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x8d
call fcn.1002bd20
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x8e
call fcn.1002be80
push fcn.1002bd20
push 2
push 0x18
lea eax, [ebp - 0x168]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100340a0
lea esi, [edi + 0xc74]
lea ecx, [esi + 0x58]
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.resolver
lea ecx, [ebp - 0xbc]
call fcn.1002bd70
push str.resolver
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0x8f
call fcn.1002bd70
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x90
push eax
lea ecx, [edi + 0xd54]
call fcn.1004b4f0
lea eax, [ebp - 0xd4]
mov byte [edi + 0xd85], 1
push eax
lea ecx, [edi + 0xd8c]
call fcn.1004b4f0
mov byte [edi + 0xd88], 0
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x91
call fcn.1002bd20
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0x92
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xd1c]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.0_pitch
lea ecx, [ebp - 0x48]
call fcn.1002bd70
lea eax, [ebp - 0x21]
mov dword [ebp - 4], 0x93
push eax
lea ecx, [ebp - 0x30]
push ecx
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x54]
call fcn.1002b800
push str.resolver_modifiers
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x94
call fcn.1002bd70
push str.correction_modifiers
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x95
call fcn.1002bd70
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x97
push eax
lea ecx, [edi + 0xddc]
call fcn.1004b4f0
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp - 0x54]
mov byte [edi + 0xe0d], 0
mov dword [edi + 0xe48], 0
mov dword [edi + 0xdb4], 0x14
mov dword [edi + 0xdb8], 0x14
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x1005905c
lea eax, [edi + 0xe2c]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
push esi
mov ecx, eax
call fcn.10052370
mov eax, dword [ebp - 0x28]
add esi, 0x18
cmp esi, edi
jne 0x10059047
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x78]
xor esi, esi
mov ecx, dword [ebp - 0x74]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x2c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x74]
cmova ecx, esi
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x10059130
lea ecx, [edi + 0xe3c]
nop dword [eax]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002b5c0
lea ecx, [edi + 0xe3c]
mov esi, dword [eax]
lea eax, [ebp - 0xa4]
push eax
call fcn.1002b5d0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xa0]
push dword [eax]
call fcn.1002c6e0
add esp, 8
lea ecx, [edi + 0xe3c]
mov esi, eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1002b5c0
mov esi, dword [esi]
lea ecx, [edi + 0xe2c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
call fcn.1002b6e0
cmp dword [ebp - 0x18], eax
jae 0x10059100
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xe3c]
call fcn.10043a50
cmp esi, dword [ebp - 0x20]
jne 0x10059111
mov eax, dword [edi + 0xe08]
test eax, eax
je 0x10059111
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0xe3c]
mov edx, dword [ebp - 0x2c]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
cmp eax, dword [ebp - 0x28]
jne 0x10059090
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x98
call fcn.1002b840
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x99
call fcn.1002bd20
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x9a
call fcn.1002bd20
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x9b
call fcn.1002be80
push fcn.1002bd20
push 1
push 0x18
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100340b0
lea esi, [edi + 0xda4]
lea ecx, [esi + 0x58]
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.resolver_override
lea ecx, [ebp - 0xbc]
lea esi, [edi + 0x1224]
call fcn.1002bd70
push 0x100c5024
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0x9c
call fcn.1002bd70
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x9d
push eax
lea ecx, [edi + 0x1294]
call fcn.1004b4f0
lea eax, [ebp - 0xbc]
push eax
lea ecx, [edi + 0x125c]
call fcn.1004b4f0
mov dword [edi + 0x1290], 0xffffffff
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x9e
call fcn.1002bd20
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0x9f
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x100340b0
push eax
call fcn.10043a50
mov dword [edi + 0x12b0], 0x10032df0
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.prefer_body
lea ecx, [ebp - 0x98]
call fcn.1002bd70
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xa0
call fcn.1002c190
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xa1
call fcn.1002c1b0
push str.prefer_body_aim
lea ecx, [ebp - 0x48]
call fcn.1002c1d0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xa2
push eax
lea ecx, [edi + 0xe84]
call fcn.1004b4f0
lea eax, [ebp - 0x48]
mov byte [edi + 0xeb5], 1
push eax
lea ecx, [edi + 0xebc]
call fcn.1004b4f0
lea ecx, [ebp - 0x48]
mov byte [edi + 0xeb8], 0
call fcn.1002bd20
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1002bd20
lea eax, [edi + 0xe4c]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
lea ecx, [ebp - 0xd5]
call fcn.10026980
push str.low_fake
lea ecx, [ebp - 0x138]
mov esi, eax
call fcn.1002bd70
push str.medium_resolve_chance
lea ecx, [ebp - 0x120]
mov dword [ebp - 4], 0xa3
call fcn.1002bd70
push str.high_resolve_chance
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0xa4
call fcn.1002bd70
push str.max_resolve_chance
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xa5
call fcn.1002bd70
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0xa6
push eax
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x70]
call fcn.1002b6c0
push esi
lea ecx, [ebp - 0x3c]
push dword [eax + 4]
push dword [eax]
call fcn.1002b800
push str.prefer_body_disablers
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xa7
call fcn.1002bd70
push str.disablers
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0xa8
call fcn.1002bd70
lea ecx, [ebp - 0x58]
call fcn.100320d0
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0xaa
push eax
lea ecx, [edi + 0xf0c]
call fcn.1004b4f0
lea eax, [ebp - 0xd4]
mov byte [edi + 0xf3d], 1
push eax
lea ecx, [edi + 0xf44]
call fcn.1004b4f0
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0xf3d], cl
cmovne ecx, eax
mov dword [edi + 0xf78], ecx
lea eax, [ecx + 0x14]
lea ecx, [ebp - 0x3c]
mov dword [edi + 0xee4], eax
mov dword [edi + 0xee8], eax
call fcn.1002b9c0
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.100317e0
mov dword [ebp - 0x28], eax
cmp esi, eax
je 0x100594b4
lea ecx, [edi + 0xf5c]
mov dword [ebp - 0x20], ecx
mov edi, ecx
push esi
mov ecx, edi
call fcn.10052340
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x100594a1
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x58]
call fcn.1002b9c0
mov esi, eax
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x2c], esi
call fcn.100317e0
mov ecx, eax
mov dword [ebp - 0x1c], 0
sub ecx, esi
xor edx, edx
add ecx, 3
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10059597
lea ecx, [edi + 0xf6c]
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002b5c0
lea ecx, [edi + 0xf6c]
mov esi, dword [eax]
lea eax, [ebp - 0xa4]
push eax
call fcn.1002b5d0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xa0]
push dword [eax]
call fcn.1002c6e0
add esp, 8
lea ecx, [edi + 0xf6c]
mov esi, eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1002b5c0
push eax
mov ecx, esi
call fcn.1002bd00
lea ecx, [edi + 0xf5c]
mov byte [ebp - 0x21], al
call fcn.1002b6e0
cmp dword [ebp - 0x18], eax
jae 0x10059566
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xf6c]
call fcn.10043a20
cmp byte [ebp - 0x21], 0
je 0x10059578
mov eax, dword [edi + 0xf38]
test eax, eax
je 0x10059578
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0xf6c]
mov esi, dword [ebp - 0x2c]
inc eax
add esi, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], esi
cmp eax, dword [ebp - 0x20]
jne 0x100594f2
lea ecx, [ebp - 0x58]
call fcn.1002b5e0
lea ecx, [ebp - 0xd4]
call fcn.1002bd20
lea ecx, [ebp - 0xbc]
call fcn.1002bd20
lea ecx, [ebp - 0x3c]
call fcn.1002b700
push fcn.1002bd20
push 4
push 0x18
lea eax, [ebp - 0x138]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [edi + 0xed4]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
lea ecx, [ebp - 0xd6]
call fcn.10026980
push str.always
lea ecx, [ebp - 0x1e0]
mov esi, eax
call fcn.1002bd70
push str.health
lea ecx, [ebp - 0x1c8]
mov dword [ebp - 4], 0xab
call fcn.1002bd70
push str.unsafe_resolve_chance
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 0xac
call fcn.1002bd70
push str.in_air
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0xad
call fcn.1002bd70
lea eax, [ebp - 0x180]
mov dword [ebp - 4], 0xae
push eax
lea eax, [ebp - 0x1e0]
push eax
lea ecx, [ebp - 0x70]
call fcn.1002b6c0
push esi
lea ecx, [ebp - 0x54]
push dword [eax + 4]
push dword [eax]
call fcn.1002b800
push str.force_body
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xaf
call fcn.1002bd70
push str.force_body_aim
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0xb0
call fcn.1002bd70
lea ecx, [ebp - 0x40]
call fcn.100320d0
mov byte [ebp - 4], 0xb2
lea eax, [ebp - 0xbc]
push eax
lea ecx, [edi + 0xfb4]
call fcn.1004b4f0
lea eax, [ebp - 0xd4]
mov byte [edi + 0xfe5], 1
push eax
lea ecx, [edi + 0xfec]
call fcn.1004b4f0
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0xfe5], cl
cmovne ecx, eax
mov dword [edi + 0x1020], ecx
lea eax, [ecx + 0x14]
lea ecx, [ebp - 0x54]
mov dword [edi + 0xf8c], eax
mov dword [edi + 0xf90], eax
call fcn.1002b9c0
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.100317e0
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x1005975d
lea eax, [edi + 0x1004]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
push esi
mov ecx, eax
call fcn.10052340
mov eax, dword [ebp - 0x28]
add esi, 0x18
cmp esi, edi
jne 0x10059748
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x40]
call fcn.1002b9c0
mov esi, eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], esi
call fcn.100317e0
mov ecx, eax
mov dword [ebp - 0x1c], 0
sub ecx, esi
xor edx, edx
add ecx, 3
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10059845
lea ecx, [edi + 0x1014]
nop dword [eax + eax]
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002b5c0
lea ecx, [edi + 0x1014]
mov esi, dword [eax]
lea eax, [ebp - 0xa4]
push eax
call fcn.1002b5d0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xa0]
push dword [eax]
call fcn.1002c6e0
add esp, 8
lea ecx, [edi + 0x1014]
mov esi, eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1002b5c0
push eax
mov ecx, esi
call fcn.1002bd00
lea ecx, [edi + 0x1004]
mov byte [ebp - 0x21], al
call fcn.1002b6e0
cmp dword [ebp - 0x18], eax
jae 0x10059814
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x1014]
call fcn.10043a20
cmp byte [ebp - 0x21], 0
je 0x10059826
mov eax, dword [edi + 0xfe0]
test eax, eax
je 0x10059826
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x1014]
mov esi, dword [ebp - 0x2c]
inc eax
add esi, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], esi
cmp eax, dword [ebp - 0x20]
jne 0x100597a0
lea ecx, [ebp - 0x40]
call fcn.1002b5e0
lea ecx, [ebp - 0xd4]
call fcn.1002bd20
lea ecx, [ebp - 0xbc]
call fcn.1002bd20
lea ecx, [ebp - 0x54]
call fcn.1002b700
push fcn.1002bd20
push 4
push 0x18
lea eax, [ebp - 0x1e0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [edi + 0xf7c]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push 0x100c4eec
lea ecx, [ebp - 0x98]
lea esi, [edi + 0x1024]
call fcn.1007afa0
push str.baim_health
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0xb3
call fcn.1002bd70
push 0x100c2118
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xb4
call fcn.1002bd70
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0xb5
push eax
lea ecx, [edi + 0x105c]
call fcn.1004b4f0
lea eax, [ebp - 0x98]
mov byte [edi + 0x108d], 0
push eax
lea ecx, [edi + 0x10c4]
mov dword [edi + 0x10dc], 0
mov dword [edi + 0x1034], 8
mov dword [edi + 0x1038], 8
mov dword [edi + 0x1098], 0x3f800000
mov dword [edi + 0x109c], 0x42960000
mov dword [edi + 0x1094], 0x41c80000
mov dword [edi + 0x10a8], 0
mov dword [edi + 0x10a0], 0x3f800000
call fcn.1007af70
lea ecx, [ebp - 0xbc]
call fcn.1002bd20
lea ecx, [ebp - 0xd4]
call fcn.1002bd20
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.100525b0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10034060
lea ecx, [esi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push str.max_misses
lea ecx, [ebp - 0x150]
call fcn.1002bd70
push 0x100c5134
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0xb6
call fcn.1002bd70
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0xb7
push eax
lea ecx, [edi + 0x1118]
call fcn.1004b4f0
lea eax, [ebp - 0xd4]
mov byte [edi + 0x1149], 1
push eax
lea ecx, [edi + 0x1150]
call fcn.1004b4f0
lea ecx, [ebp - 0xd4]
mov byte [edi + 0x114c], 0
call fcn.1002bd20
lea ecx, [ebp - 0x150]
mov dword [ebp - 4], 0xffffffff
call fcn.1002bd20
lea eax, [edi + 0x10e0]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push 0x100c5140
lea ecx, [ebp - 0xf0]
call fcn.1007afa0
push str.max_misses_amt
lea ecx, [ebp - 0x150]
mov dword [ebp - 4], 0xb8
call fcn.1002bd70
push 0x100c2118
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0xb9
call fcn.1002bd70
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0xba
push eax
lea ecx, [edi + 0x11a0]
call fcn.1004b4f0
lea eax, [ebp - 0xf0]
mov byte [edi + 0x11d1], 0
mov dword [edi + 0x1220], 0
mov dword [edi + 0x1178], 8
mov dword [edi + 0x117c], 8
mov dword [edi + 0x11dc], 0x3f800000
mov dword [edi + 0x11e0], 0x41200000
mov dword [edi + 0x11d8], 0x41200000
mov dword [edi + 0x11ec], 0
mov dword [edi + 0x11e4], 0x3f800000
push eax
lea ecx, [edi + 0x1208]
call fcn.1007af70
lea ecx, [ebp - 0xd4]
call fcn.1002bd20
lea ecx, [ebp - 0x150]
call fcn.1002bd20
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.100525b0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10034090
push eax
lea ecx, [edi + 0x11c0]
call fcn.10043a20
lea eax, [edi + 0x1168]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [eax + 0x18], 1
mov edx, dword [ebp - 0x18]
imul eax, dword [edx + 0x18], 0xeb
add eax, 0x14
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x18]
mov edx, dword [edi + 0x2c]
mov dword [eax + 0x1c], edx
lea eax, [ebp - 0x18]
push eax
call fcn.10043a20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100b366f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret