Function at 0x449a20
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c576a
mov eax, dword fs:[0]
push eax
sub esp, 0x3d8
mov eax, dword [0x50f060]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor eax, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 4], eax
mov ecx, 0x5106e8
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0xfc]
push str.Body
push eax
call fcn.00458d90
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xfc]
call fcn.004087a0
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0xfc]
call fcn.004089f0
or esi, 0xffffffff
nop dword [eax + eax]
mov eax, dword [ebp - 0xec]
cmp eax, dword [ebp - 0x134]
jne 0x449aea
sub eax, 0
je 0x44b9f0
sub eax, 1
je 0x449ad3
sub eax, 1
jne 0x44b9f0
mov eax, dword [ebp - 0x12c]
cmp dword [ebp - 0xe4], eax
jmp 0x449adf
mov eax, dword [ebp - 0x130]
cmp dword [ebp - 0xe8], eax
sete al
test al, al
jne 0x44b9f0
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xec]
call fcn.00450270
push 0x1c
mov ecx, 0x512db8
mov byte [ebp - 4], 4
call fcn.00466cb0
push 0x4f47c8
lea eax, [ebp - 0x344]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
mov edi, eax
push 0x1e
mov ecx, 0x512db8
mov byte [ebp - 4], 5
call fcn.00466cb0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 2
movups xmmword [ebp - 0x28], xmm0
mov ecx, 0x6449
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x28], cx
mov byte [ebp - 0x26], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x68], eax
cmp ecx, 0x10
jb 0x449ba4
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449b97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
mov eax, dword [ebp - 0x68]
add esp, 8
push 0x1f
mov ecx, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
mov edx, edi
mov ecx, eax
call fcn.004667a0
mov byte [ebp - 4], 4
mov edi, dword [ebp - 0x33c]
test edi, edi
je 0x449bf5
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x449bf5
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x449bf5
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push str.Group
lea eax, [ebp - 0x364]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 7
push ecx
mov ecx, eax
call fcn.0045ce00
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x35c]
test edi, edi
je 0x449c48
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x449c48
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x449c48
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x40]
mov edx, 3
cmp edi, edx
cmovb edx, edi
cmp dword [ebp - 0x2c], 0x10
cmovae ecx, dword [ebp - 0x40]
sub edi, edx
mov dword [ebp - 0x68], edi
lea eax, [edi + 1]
push eax
lea eax, [ecx + edx]
push eax
push ecx
call fcn.00496b80
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x40]
add esp, 0xc
mov dword [ebp - 0x60], eax
cmp eax, 0x10
mov dword [ebp - 0x30], edi
mov eax, 4
mov edx, str.Chat
cmovae ecx, dword [ebp - 0x40]
setae byte [ebp - 0x59]
cmp edi, 4
cmova edi, eax
mov eax, edi
sub eax, 4
mov dword [ebp - 0x6c], eax
jb 0x449cbe
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449cc3
mov eax, dword [ebp - 0x6c]
add ecx, 4
add edx, 4
sub eax, 4
mov dword [ebp - 0x6c], eax
jae 0x449ca7
cmp eax, 0xfffffffc
je 0x449cfa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449cf3
cmp dword [ebp - 0x6c], 0xfffffffd
je 0x449cfa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449cf3
cmp dword [ebp - 0x6c], 0xfffffffe
je 0x449cfa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449cf3
cmp dword [ebp - 0x6c], 0xffffffff
je 0x449cfa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x449cfa
sbb eax, eax
or eax, 1
jmp 0x449cfc
xor eax, eax
test eax, eax
jne 0x449dd0
mov ecx, dword [ebp - 0x68]
cmp ecx, 4
jb 0x449dd0
ja 0x449dd0
mov eax, dword [ebp - 0x60]
sub eax, ecx
cmp eax, 4
jb 0x449daf
cmp byte [ebp - 0x59], 0
lea eax, [ecx + 4]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x40]
cmovne eax, dword [ebp - 0x40]
mov dword [ebp - 0x6c], eax
lea edx, [eax + 4]
cmp edx, 0x4f483c
jae 0x449d62
add eax, ecx
cmp eax, str.ting
jb 0x449d62
cmp edx, str.ting
ja 0x449d58
xor edi, edi
jmp 0x449d67
mov edi, edx
sub edi, str.ting
jmp 0x449d67
mov edi, 4
mov eax, dword [ebp - 0x68]
lea ecx, [edx + 4]
add eax, 0xfffffffd
push eax
push edx
push ecx
call fcn.00496b80
mov eax, dword [ebp - 0x6c]
push edi
add eax, 4
push str.ting
push eax
call fcn.00496b80
mov ecx, dword [ebp - 0x6c]
mov eax, 4
sub eax, edi
add ecx, 4
push eax
lea eax, [edi + 0x4f483c]
add ecx, edi
push eax
push ecx
call fcn.00496b80
add esp, 0x24
jmp 0x449e9e
push 4
sub esp, 8
mov byte [ebp - 0xd4], 0
lea ecx, [ebp - 0x40]
push dword [ebp - 0xd4]
push 4
call fcn.00460220
jmp 0x449e9e
cmp byte [ebp - 0x59], 0
lea ecx, [ebp - 0x40]
mov edx, str.Hear
cmovne ecx, dword [ebp - 0x40]
sub edi, 4
jb 0x449df6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449dfb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x449de5
cmp edi, 0xfffffffc
je 0x449e2f
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449e28
cmp edi, 0xfffffffd
je 0x449e2f
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449e28
cmp edi, 0xfffffffe
je 0x449e2f
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449e28
cmp edi, 0xffffffff
je 0x449e2f
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x449e2f
sbb eax, eax
or eax, 1
jmp 0x449e31
xor eax, eax
test eax, eax
jne 0x449e3d
cmp dword [ebp - 0x68], 4
jb 0x449e3d
jbe 0x449e91
push 0x4f4878
lea ecx, [ebp - 0x40]
call fcn.00451850
test eax, eax
je 0x449e91
push str.Refine
lea ecx, [ebp - 0x40]
call fcn.00451850
test eax, eax
jne 0x449e9e
push 6
push ecx
lea ecx, [ebp - 0x40]
call fcn.00451890
lea eax, [ebp - 0x40]
mov edx, str.Enchant
push eax
lea ecx, [ebp - 0x58]
call fcn.004593f0
add esp, 4
lea ecx, [ebp - 0x40]
push eax
call fcn.00451970
lea ecx, [ebp - 0x58]
call fcn.004057d0
jmp 0x449e9e
push str.Chatting
lea ecx, [ebp - 0x40]
call fcn.00451940
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x84]
call fcn.00405860
cmp dword [ebp - 0x70], 0x10
lea ecx, [ebp - 0x84]
mov edx, dword [ebp - 0x84]
lea edi, [ebp - 0x84]
setae al
cmovae ecx, edx
test al, al
mov eax, dword [ebp - 0x74]
je 0x449ed6
mov edi, edx
add eax, edx
jmp 0x449ede
add eax, edi
lea edi, [ebp - 0x84]
mov dword [ebp - 0x68], eax
cmp edi, eax
je 0x449f0e
sub ecx, edi
mov dword [ebp - 0x60], ecx
mov esi, ecx
nop dword [eax]
movsx eax, byte [edi]
push eax
call fcn.004a14f7
mov byte [edi + esi], al
add esp, 4
inc edi
cmp edi, dword [ebp - 0x68]
jne 0x449ef0
mov edx, dword [ebp - 0x84]
or esi, 0xffffffff
cmp dword [ebp - 0x70], 0x10
lea ecx, [ebp - 0x84]
lea edi, [ebp - 0x84]
cmovae ecx, edx
setae al
test al, al
cmovne edi, edx
movsx eax, byte [ecx]
push eax
call fcn.004a1527
mov byte [edi], al
add esp, 4
xor edi, edi
cmp dword [ebp - 0x74], edi
jbe 0x449ff3
mov ecx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x68], ecx
nop
cmp esi, 0x10
lea eax, [ebp - 0x84]
cmovae eax, ecx
setae dl
cmp byte [eax + edi - 1], 0x5f
je 0x449fae
test dl, dl
lea eax, [ebp - 0x84]
cmovne eax, ecx
cmp byte [eax + edi - 2], 0x31
jne 0x449f8a
test dl, dl
lea eax, [ebp - 0x84]
cmovne eax, ecx
cmp byte [eax + edi - 1], 0x68
je 0x449fae
test dl, dl
lea eax, [ebp - 0x84]
cmovne eax, ecx
cmp byte [eax + edi - 2], 0x32
jne 0x449fe6
test dl, dl
lea eax, [ebp - 0x84]
cmovne eax, ecx
cmp byte [eax + edi - 1], 0x68
jne 0x449fe6
lea eax, [ebp - 0x84]
test dl, dl
je 0x449fbc
add ecx, edi
jmp 0x449fc8
lea ecx, [edi + eax]
lea eax, [ebp - 0x84]
mov dword [ebp - 0x68], eax
movsx eax, byte [ecx]
push eax
call fcn.004a1527
mov ecx, dword [ebp - 0x68]
add esp, 4
mov byte [ecx + edi], al
mov ecx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x68], ecx
inc edi
cmp edi, dword [ebp - 0x74]
jb 0x449f50
or esi, 0xffffffff
movups xmm0, xmmword [ebp - 0x84]
mov byte [ebp - 0x84], 0
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [ebp - 0x74]
movq qword [ebp - 0x48], xmm0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
push 0x1e
mov ecx, 0x512db8
mov byte [ebp - 4], 0xa
call fcn.00466cb0
mov ecx, dword [str.Group]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x28], ecx
mov cl, byte [0x4f47ec]
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x24], cl
mov byte [ebp - 0x23], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 0xa
mov edi, eax
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x44a0a1
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a097
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
add esp, 8
push 0x1f
mov ecx, edi
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a0ff
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a0f5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
add esp, 8
push str.Name
lea eax, [ebp - 0x374]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
mov edi, eax
push 0x1e
mov ecx, 0x512db8
mov byte [ebp - 4], 0xc
call fcn.00466cb0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 4
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x28], 0x656d614e
mov byte [ebp - 0x24], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xd
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
cmp ecx, 0x10
jb 0x44a195
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a188
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
mov eax, dword [ebp - 0x60]
add esp, 8
push 0x1f
mov ecx, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
mov edx, edi
mov ecx, eax
call fcn.004667a0
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x36c]
test edi, edi
je 0x44a1e6
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a1e6
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a1e6
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push str.Target
lea eax, [ebp - 0x384]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
cmp byte [eax], 0
jne 0x44a208
mov byte [ebp - 0x59], 0
jmp 0x44a21e
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44a21a
mov eax, dword [eax]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [ebp - 0x59], al
jmp 0x44a21e
mov byte [ebp - 0x59], 1
mov edi, dword [ebp - 0x37c]
test edi, edi
je 0x44a247
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a247
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a247
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x44a8f6
push 0x1e
mov ecx, 0x512db8
call fcn.00466cb0
mov ecx, dword [str.Targets]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov edx, eax
mov dword [ebp - 0x28], ecx
mov cx, word [0x4f48fc]
mov al, byte [0x4f48fe]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x24], cx
mov byte [ebp - 0x22], al
mov byte [ebp - 0x21], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xe
push eax
mov ecx, edx
call fcn.004682b0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x44a2db
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a2d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
add esp, 8
push 0x18
mov ecx, 0x512db8
call fcn.00466cb0
push str.Target
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x10c]
call fcn.004087a0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x10c]
call fcn.004089f0
nop
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x58]
jne 0x44a361
sub eax, 0
je 0x44a86e
sub eax, 1
je 0x44a34d
sub eax, 1
jne 0x44a86e
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x98], eax
jmp 0x44a356
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x9c], eax
sete al
test al, al
jne 0x44a86e
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00450270
push 0x1c
mov ecx, 0x512db8
mov byte [ebp - 4], 0x12
call fcn.00466cb0
push 0x4e6c98
lea eax, [ebp - 0x394]
push eax
lea ecx, [ebp - 0x164]
call fcn.00458f30
mov edi, eax
push 0x1e
mov ecx, 0x512db8
mov byte [ebp - 4], 0x13
call fcn.00466cb0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 2
movups xmmword [ebp - 0x28], xmm0
mov ecx, 0x6449
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x28], cx
mov byte [ebp - 0x26], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x14
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
cmp ecx, 0x10
jb 0x44a41b
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a40e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
mov eax, dword [ebp - 0x60]
add esp, 8
push 0x1f
mov ecx, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
mov edx, edi
mov ecx, eax
call fcn.004667a0
mov byte [ebp - 4], 0x12
mov edi, dword [ebp - 0x38c]
test edi, edi
je 0x44a46c
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a46c
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a46c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push str.MobID
lea eax, [ebp - 0x3a4]
push eax
lea ecx, [ebp - 0x164]
call fcn.00458f30
cmp byte [eax], 0
jne 0x44a48e
mov byte [ebp - 0x59], 0
jmp 0x44a4a4
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44a4a0
mov eax, dword [eax]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [ebp - 0x59], al
jmp 0x44a4a4
mov byte [ebp - 0x59], 1
mov edi, dword [ebp - 0x39c]
test edi, edi
je 0x44a4cd
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a4cd
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a4cd
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x44a632
push str.MobID
lea eax, [ebp - 0x3b4]
push eax
lea ecx, [ebp - 0x164]
call fcn.00458f30
mov ecx, eax
mov byte [ebp - 4], 0x15
call fcn.0045cec0
mov byte [ebp - 4], 0x12
mov edi, dword [ebp - 0x3ac]
movzx edx, ax
mov dword [ebp - 0x68], edx
test edi, edi
je 0x44a52f
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a52f
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a52c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edx, dword [ebp - 0x68]
movzx eax, dx
mov dword [ebp - 0x60], eax
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dx
shr eax, 8
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x5333c4
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00461ff0
mov eax, dword [eax + 4]
test eax, eax
je 0x44ba97
cmp eax, dword [0x5333c8]
je 0x44ba97
lea edi, [eax + 0xc]
test edi, edi
je 0x44ba97
push 0x1e
mov ecx, 0x512db8
call fcn.00466cb0
mov cx, word [0x4f4980]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x28], cx
mov cl, byte [0x4f4982]
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x26], cl
mov byte [ebp - 0x25], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x16
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
cmp ecx, 0x10
jb 0x44a60f
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a602
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
mov eax, dword [ebp - 0x60]
add esp, 8
push 0x1f
mov ecx, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
push edi
mov ecx, eax
call fcn.004682b0
push str.Count
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x164]
call fcn.00458f30
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x64]
or ecx, 1
cmp byte [eax], 0
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x6c], ecx
je 0x44a6a9
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44a66f
mov eax, dword [eax]
mov eax, dword [eax]
mov al, byte [eax]
test al, al
je 0x44a6a9
push str.Count
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x164]
call fcn.00458f30
mov dword [ebp - 4], 0x18
mov ecx, dword [ebp - 0x64]
or ecx, 2
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x6c], ecx
mov ecx, eax
call fcn.0045d030
mov byte [ebp - 0x59], 1
cmp eax, 1
jg 0x44a6ad
mov byte [ebp - 0x59], 0
mov ecx, dword [ebp - 0x64]
test cl, 2
je 0x44a6e7
mov edi, dword [ebp - 0x16c]
and ecx, 0xfffffffd
mov dword [ebp - 0x64], ecx
test edi, edi
je 0x44a6e7
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a6e7
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a6e4
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 4], 0x12
test cl, 1
je 0x44a722
mov edi, dword [ebp - 0x17c]
and ecx, 0xfffffffe
mov dword [ebp - 0x64], ecx
test edi, edi
je 0x44a722
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a722
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a722
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x44a81e
push str.Count
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x164]
call fcn.00458f30
mov edi, eax
push 0x1e
mov ecx, 0x512db8
mov byte [ebp - 4], 0x19
call fcn.00466cb0
mov ecx, dword [str.Count]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x28], ecx
mov cl, byte [0x4f4998]
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x24], cl
mov byte [ebp - 0x23], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1a
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
cmp ecx, 0x10
jb 0x44a7cd
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a7c0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
mov eax, dword [ebp - 0x60]
add esp, 8
push 0x1f
mov ecx, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
mov edx, edi
mov ecx, eax
call fcn.004667a0
mov byte [ebp - 4], 0x12
mov edi, dword [ebp - 0x18c]
test edi, edi
je 0x44a81e
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a81e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a81e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push 0x1d
mov ecx, 0x512db8
call fcn.00466cb0
lea ecx, [ebp - 0x154]
call fcn.004079e0
mov edi, dword [ebp - 0x15c]
test edi, edi
je 0x44a85e
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a85e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a85e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0xa0]
call fcn.00454590
jmp 0x44a320
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x44a894
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a894
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a894
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x8c]
test edi, edi
je 0x44a8bd
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a8bd
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a8bd
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x104]
test edi, edi
je 0x44a8ea
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a8ea
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a8ea
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push 0x19
mov ecx, 0x512db8
call fcn.00466cb0
push str.Condition
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
cmp byte [eax], 0
jne 0x44a918
mov byte [ebp - 0x59], 0
jmp 0x44a92e
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44a92a
mov eax, dword [eax]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [ebp - 0x59], al
jmp 0x44a92e
mov byte [ebp - 0x59], 1
mov edi, dword [ebp - 0x19c]
test edi, edi
je 0x44a957
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44a957
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44a957
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x44aa57
push str.Condition
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
mov edi, eax
push 0x1e
mov ecx, 0x512db8
mov byte [ebp - 4], 0x1b
call fcn.00466cb0
mov cl, byte [0x4f49b8]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 9
movq xmm0, qword [str.Condition]
mov dword [ebp - 0x14], 0xf
movq qword [ebp - 0x28], xmm0
mov byte [ebp - 0x20], cl
mov byte [ebp - 0x1f], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1c
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
cmp ecx, 0x10
jb 0x44aa06
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a9f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
mov eax, dword [ebp - 0x60]
add esp, 8
push 0x1f
mov ecx, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
mov edx, edi
mov ecx, eax
call fcn.004667a0
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x1ac]
test edi, edi
je 0x44aa57
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44aa57
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44aa57
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push ecx
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0xd0]
call fcn.0045d270
cmp byte [eax], 0
jne 0x44aa75
mov byte [ebp - 0x59], 0
jmp 0x44aa8b
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44aa87
mov eax, dword [eax]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [ebp - 0x59], al
jmp 0x44aa8b
mov byte [ebp - 0x59], 1
mov edi, dword [ebp - 0x1bc]
test edi, edi
je 0x44aab4
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44aab4
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44aab4
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x44abae
push ecx
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0xd0]
call fcn.0045d270
mov edi, eax
push 0x1e
mov ecx, 0x512db8
mov byte [ebp - 4], 0x1d
call fcn.00466cb0
mov cx, word [0x4f49d0]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x28], cx
mov cl, byte [0x4f49d2]
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x26], cl
mov byte [ebp - 0x25], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1e
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
cmp ecx, 0x10
jb 0x44ab5d
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44ab50
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
mov eax, dword [ebp - 0x60]
add esp, 8
push 0x1f
mov ecx, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
mov edx, edi
mov ecx, eax
call fcn.004667a0
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x1cc]
test edi, edi
je 0x44abae
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44abae
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44abae
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push str.Dependent
lea eax, [ebp - 0x1e4]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
cmp byte [eax], 0
jne 0x44abd0
mov byte [ebp - 0x59], 0
jmp 0x44abe6
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44abe2
mov eax, dword [eax]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [ebp - 0x59], al
jmp 0x44abe6
mov byte [ebp - 0x59], 1
mov edi, dword [ebp - 0x1dc]
test edi, edi
je 0x44ac0f
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44ac0f
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44ac0f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x44ae70
push 0x1e
mov ecx, 0x512db8
call fcn.00466cb0
mov cx, word [0x4f4a04]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 0xa
movq xmm0, qword [str.Dependents]
mov dword [ebp - 0x14], 0xf
movq qword [ebp - 0x28], xmm0
mov word [ebp - 0x20], cx
mov byte [ebp - 0x1e], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1f
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x44ac9d
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44ac93
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
add esp, 8
push 0x1c
mov ecx, 0x512db8
call fcn.00466cb0
push str.Dependent
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x11c]
call fcn.004087a0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x11c]
call fcn.004089f0
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x58]
jne 0x44ad22
sub eax, 0
je 0x44ade8
sub eax, 1
je 0x44ad0e
sub eax, 1
jne 0x44ade8
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x98], eax
jmp 0x44ad17
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x9c], eax
sete al
test al, al
jne 0x44ade8
lea eax, [ebp - 0x3e4]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00450270
push 0x4e6c98
lea eax, [ebp - 0x1f4]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x3e4]
call fcn.00458f30
mov edi, eax
push 0x1e
mov ecx, 0x512db8
mov byte [ebp - 4], 0x24
call fcn.00466cb0
mov edx, edi
mov ecx, eax
call fcn.004667a0
push 0x1f
mov ecx, eax
call fcn.00466cb0
push ecx
mov ecx, eax
call fcn.00468580
mov edi, dword [ebp - 0x1ec]
test edi, edi
je 0x44ada4
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44ada4
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44ada4
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0x3d4]
call fcn.004079e0
mov edi, dword [ebp - 0x3dc]
test edi, edi
je 0x44add8
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44add8
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44add8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0xa0]
call fcn.00454590
jmp 0x44ace1
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x44ae0e
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44ae0e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44ae0e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x8c]
test edi, edi
je 0x44ae37
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44ae37
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44ae37
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x114]
test edi, edi
je 0x44ae64
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44ae64
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44ae64
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push 0x1d
mov ecx, 0x512db8
call fcn.00466cb0
push str.Reward
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
cmp byte [eax], 0
jne 0x44ae92
mov byte [ebp - 0x59], 0
jmp 0x44aea8
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44aea4
mov eax, dword [eax]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [ebp - 0x59], al
jmp 0x44aea8
mov byte [ebp - 0x59], 1
mov edi, dword [ebp - 0x1fc]
test edi, edi
je 0x44aed1
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44aed1
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44aed1
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x44b870
push 0x1e
mov ecx, 0x512db8
call fcn.00466cb0
mov ecx, dword [str.Rewards]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov edx, eax
mov dword [ebp - 0x28], ecx
mov cx, word [0x4f4a34]
mov al, byte [0x4f4a36]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x24], cx
mov byte [ebp - 0x22], al
mov byte [ebp - 0x21], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x25
push eax
mov ecx, edx
call fcn.004682b0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x44af65
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44af5b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
add esp, 8
push 0x1c
mov ecx, 0x512db8
call fcn.00466cb0
push str.Reward
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
push str.ItemID
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0x26
push ecx
mov ecx, eax
call fcn.00458f30
cmp byte [eax], 0
jne 0x44afaa
mov byte [ebp - 0x59], 0
jmp 0x44afc0
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44afbc
mov eax, dword [eax]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [ebp - 0x59], al
jmp 0x44afc0
mov byte [ebp - 0x59], 1
mov edi, dword [ebp - 0x20c]
test edi, edi
je 0x44afe9
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44afe9
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44afe9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x21c]
test edi, edi
je 0x44b016
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b016
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b016
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x44b1c2
push str.Reward
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
push str.ItemID
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x27
push ecx
mov ecx, eax
call fcn.00458f30
mov ecx, eax
mov byte [ebp - 4], 0x28
call fcn.00459280
mov edi, dword [ebp - 0x22c]
mov dword [ebp - 0x68], eax
test edi, edi
je 0x44b085
mov ecx, esi
lock xadd dword [edi + 4], ecx
jne 0x44b085
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b085
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x23c]
test edi, edi
je 0x44b0b2
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b0b2
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b0b2
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edx, dword [ebp - 0x68]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x60], edx
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x334]
push eax
call fcn.004620d0
mov eax, dword [eax + 4]
test eax, eax
je 0x44bb30
cmp eax, dword [0x533408]
je 0x44bb30
lea edi, [eax + 0xc]
test edi, edi
je 0x44bb30
push 0x1e
mov ecx, 0x512db8
call fcn.00466cb0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 4
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x28], 0x6d657449
mov byte [ebp - 0x24], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x29
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
cmp ecx, 0x10
jb 0x44b19f
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44b192
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
mov eax, dword [ebp - 0x60]
add esp, 8
push 0x1f
mov ecx, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
push edi
mov ecx, eax
call fcn.004682b0
push str.Reward
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x274]
mov edi, dword [ebp - 0x64]
push str.Amount
push ecx
or edi, 4
mov ecx, eax
mov dword [ebp - 0x6c], edi
call fcn.00458f30
mov dword [ebp - 4], 0x2b
or edi, 8
cmp byte [eax], 0
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x6c], edi
je 0x44b277
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44b21f
mov eax, dword [eax]
mov eax, dword [eax]
mov al, byte [eax]
test al, al
je 0x44b277
push str.Reward
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
push str.Amount
lea ecx, [ebp - 0x254]
mov dword [ebp - 4], 0x2c
push ecx
or edi, 0x10
mov ecx, eax
mov dword [ebp - 0x6c], edi
call fcn.00458f30
mov dword [ebp - 4], 0x2d
or edi, 0x20
mov ecx, eax
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x6c], edi
call fcn.0045cec0
mov byte [ebp - 0x59], 1
cmp ax, 1
ja 0x44b27b
mov byte [ebp - 0x59], 0
mov ecx, dword [ebp - 0x64]
test cl, 0x20
je 0x44b2b5
mov edi, dword [ebp - 0x24c]
and ecx, 0xffffffdf
mov dword [ebp - 0x64], ecx
test edi, edi
je 0x44b2b5
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b2b5
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b2b2
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0x64]
test cl, 0x10
je 0x44b2ec
mov edi, dword [ebp - 0x25c]
and ecx, 0xffffffef
mov dword [ebp - 0x64], ecx
test edi, edi
je 0x44b2ec
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b2ec
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b2e9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0x64]
test cl, 8
je 0x44b323
mov edi, dword [ebp - 0x26c]
and ecx, 0xfffffff7
mov dword [ebp - 0x64], ecx
test edi, edi
je 0x44b323
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b323
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b320
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 4], 9
test cl, 4
je 0x44b35e
mov edi, dword [ebp - 0x27c]
and ecx, 0xfffffffb
mov dword [ebp - 0x64], ecx
test edi, edi
je 0x44b35e
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b35e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b35e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x44b49c
push str.Reward
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
push str.Amount
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x2e
push ecx
mov ecx, eax
call fcn.00458f30
mov edi, eax
push 0x1e
mov ecx, 0x512db8
mov byte [ebp - 4], 0x2f
call fcn.00466cb0
mov ecx, dword [str.Amount]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x28], ecx
mov cx, word [0x4f4ac8]
mov dword [ebp - 0x18], 6
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x24], cx
mov byte [ebp - 0x22], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x30
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
cmp ecx, 0x10
jb 0x44b422
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44b415
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
mov eax, dword [ebp - 0x60]
add esp, 8
push 0x1f
mov ecx, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
mov edx, edi
mov ecx, eax
call fcn.004667a0
mov edi, dword [ebp - 0x28c]
test edi, edi
je 0x44b46f
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b46f
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b46f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x29c]
test edi, edi
je 0x44b49c
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b49c
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b49c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push str.Reward
lea eax, [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
push str.Script
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0x31
push ecx
mov ecx, eax
call fcn.00458f30
cmp byte [eax], 0
jne 0x44b4d5
mov byte [ebp - 0x59], 0
jmp 0x44b4eb
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44b4e7
mov eax, dword [eax]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [ebp - 0x59], al
jmp 0x44b4eb
mov byte [ebp - 0x59], 1
mov edi, dword [ebp - 0x2ac]
test edi, edi
je 0x44b514
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b514
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b514
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x2bc]
test edi, edi
je 0x44b541
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b541
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b541
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x44b67f
push str.Reward
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
push str.Script
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 0x32
push ecx
mov ecx, eax
call fcn.00458f30
mov edi, eax
push 0x1e
mov ecx, 0x512db8
mov byte [ebp - 4], 0x33
call fcn.00466cb0
mov ecx, dword [str.Script]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x28], ecx
mov cx, word [0x4f4ae8]
mov dword [ebp - 0x18], 6
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x24], cx
mov byte [ebp - 0x22], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x34
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
cmp ecx, 0x10
jb 0x44b605
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44b5f8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
mov eax, dword [ebp - 0x60]
add esp, 8
push 0x1f
mov ecx, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
mov edx, edi
mov ecx, eax
call fcn.004667a0
mov edi, dword [ebp - 0x2cc]
test edi, edi
je 0x44b652
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b652
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b652
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x2dc]
test edi, edi
je 0x44b67f
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b67f
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b67f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push str.Reward
lea eax, [ebp - 0x2fc]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
push ecx
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0x35
push ecx
mov ecx, eax
call fcn.004590e0
cmp byte [eax], 0
jne 0x44b6b4
mov byte [ebp - 0x59], 0
jmp 0x44b6ca
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44b6c6
mov eax, dword [eax]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [ebp - 0x59], al
jmp 0x44b6ca
mov byte [ebp - 0x59], 1
mov edi, dword [ebp - 0x34c]
test edi, edi
je 0x44b6f3
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b6f3
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b6f3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x2f4]
test edi, edi
je 0x44b720
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b720
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b720
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x44b864
push str.Reward
lea eax, [ebp - 0x31c]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
push ecx
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0x36
push ecx
mov ecx, eax
call fcn.004590e0
mov edi, eax
push 0x1e
mov ecx, 0x512db8
mov byte [ebp - 4], 0x37
call fcn.00466cb0
mov ecx, dword [str.TitleId]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov edx, eax
mov dword [ebp - 0x28], ecx
mov cx, word [0x4f4b20]
mov al, byte [0x4f4b22]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x24], cx
mov byte [ebp - 0x22], al
mov byte [ebp - 0x21], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x38
push eax
mov ecx, edx
call fcn.004682b0
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
cmp ecx, 0x10
jb 0x44b7ea
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44b7dd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
mov eax, dword [ebp - 0x60]
add esp, 8
push 0x1f
mov ecx, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
mov edx, edi
mov ecx, eax
call fcn.004667a0
mov edi, dword [ebp - 0x304]
test edi, edi
je 0x44b837
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b837
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b837
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x314]
test edi, edi
je 0x44b864
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b864
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b864
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push 0x1d
mov ecx, 0x512db8
call fcn.00466cb0
push str.Score
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00458f30
mov edi, eax
push 0x1e
mov ecx, 0x512db8
mov byte [ebp - 4], 0x39
call fcn.00466cb0
mov ecx, dword [str.Score]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x28], ecx
mov cl, byte [0x4f4b40]
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x24], cl
mov byte [ebp - 0x23], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3a
push ecx
mov ecx, eax
call fcn.004682b0
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
cmp ecx, 0x10
jb 0x44b911
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44b904
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
mov eax, dword [ebp - 0x60]
add esp, 8
push 0x1f
mov ecx, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00466cb0
mov edx, edi
mov ecx, eax
call fcn.004667a0
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x324]
test edi, edi
je 0x44b962
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b962
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b962
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push 0x1d
mov ecx, 0x512db8
call fcn.00466cb0
inc dword [ebp - 0x88]
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x44b9ac
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44b9a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
add esp, 8
lea ecx, [ebp - 0xc0]
call fcn.004079e0
mov edi, dword [ebp - 0xc8]
test edi, edi
je 0x44b9e0
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44b9e0
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44b9e0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0xec]
call fcn.00454590
jmp 0x449aa0
mov edi, dword [ebp - 0x120]
test edi, edi
je 0x44ba19
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44ba19
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44ba19
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0xd8]
test edi, edi
je 0x44ba42
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44ba42
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44ba42
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edi, dword [ebp - 0xf4]
test edi, edi
je 0x44ba6e
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44ba6e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x44ba6e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x88]
push eax
push str.Done_converting_upgrading_e_1_37m_zue_0m_achievements_in_e_1_37m_se_0m._n
call fcn.00464780
add esp, 0xc
mov byte [ebp - 0x59], 1
jmp 0x44bc10
mov eax, dword [ebp - 0x68]
movzx eax, ax
push eax
push str.mob_avail_reading:_Invalid_mob_class__hu__Mob_not_read._n
call fcn.004647e0
add esp, 8
lea ecx, [ebp - 0x164]
call fcn.0040a7a0
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x44badc
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44badc
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44badc
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x8c]
test edi, edi
je 0x44bb05
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44bb05
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44bb05
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x104]
test edi, edi
je 0x44bb41
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44bb41
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44bb41
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x44bb41
mov eax, dword [ebp - 0x68]
push eax
push str.Reward_item_name_for_item_ID__u_is_not_known._n
call fcn.00464820
add esp, 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x44bb75
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44bb6b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
add esp, 8
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.0040a7a0
mov edi, dword [ebp - 0x120]
test edi, edi
je 0x44bbbb
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44bbbb
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44bbbb
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0xd8]
test edi, edi
je 0x44bbe4
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44bbe4
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x44bbe4
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0xf4]
test edi, edi
je 0x44bc0c
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44bc0c
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x44bc0c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 0x59], 0
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0x10
jb 0x44bc40
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44bc36
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44bc5e
push ecx
push edx
call fcn.00494cfb
add esp, 8
mov al, byte [ebp - 0x59]
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.00494cb1
mov esp, ebp
pop ebp
ret
call fcn.004a1c3e
int3