Function at 0x43c230
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4d2948
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov eax, dword [0xde8598]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov esi, ecx
mov ebp, dword [esp + 0x48]
lea eax, [esp + 0x18]
push eax
mov ecx, ebp
call dword [0x4eb83c]
mov ecx, dword [eax]
cmp dword [ecx + 8], 0
mov edx, dword [esp + 0x18]
sete bl
or eax, 0xffffffff
lock xadd dword [edx], eax
mov edi, dword [0x4eba10]
jne 0x43c290
mov ecx, dword [esp + 0x18]
push ecx
call edi
add esp, 4
test bl, bl
je 0x43c2d9
push 0xffffffffffffffff
lea edx, [esp + 0x1c]
push 0x4f7f64
push edx
call dword [0x4eb840]
add esp, 0xc
push eax
mov ecx, ebp
mov dword [esp + 0x44], 0
call dword [0x4eb844]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], 0xffffffff
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43c2d9
mov edx, dword [esp + 0x18]
push edx
call edi
add esp, 4
lea eax, [esp + 0x28]
push eax
mov ecx, ebp
mov dword [esp + 0x2c], 0x2be
mov dword [esp + 0x30], 0x1f6
call dword [0x4eca18]
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0x40], 1
test edi, edi
je 0x43c32a
push ebp
mov ecx, edi
call dword [0x4ec328]
mov dword [edi], 0x4f54cc
mov dword [edi + 8], 0x4f548c
jmp 0x43c32c
xor edi, edi
or ebx, 0xffffffff
push ebx
lea ecx, [esp + 0x1c]
push 0x4f7158
push ecx
mov dword [esp + 0x4c], ebx
mov dword [esi], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi]
push eax
mov dword [esp + 0x44], 2
call dword [0x4eb844]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x40], ebx
mov eax, ebx
lock xadd dword [edx], eax
jne 0x43c378
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x4eba10]
add esp, 4
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0x40], 3
test edi, edi
je 0x43c3b9
push ecx
mov eax, esp
mov dword [esp + 0x1c], esp
push ebp
mov ecx, edi
mov dword [eax], 0
call dword [0x4ec354]
mov dword [edi], 0x4f52ac
mov dword [edi + 8], 0x4f528c
jmp 0x43c3bb
xor edi, edi
mov ebp, dword [0x4eb840]
push ebx
lea edx, [esp + 0x1c]
push 0x4f82f8
push edx
mov dword [esp + 0x4c], ebx
mov dword [esi + 4], edi
call ebp
add esp, 0xc
mov ecx, dword [esi + 4]
push eax
mov dword [esp + 0x44], 4
call dword [0x4eb844]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], ebx
mov ecx, ebx
lock xadd dword [eax], ecx
jne 0x43c408
mov edx, dword [esp + 0x18]
push edx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 4]
push 2
call dword [0x4ec360]
mov ecx, dword [esi + 4]
push 0x20
call dword [0x4ec364]
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0x40], 5
test edi, edi
je 0x43c457
mov eax, dword [esi + 4]
push eax
mov ecx, edi
call dword [0x4ec990]
mov dword [edi], 0x4f5054
mov dword [edi + 8], 0x4f5014
mov ecx, edi
jmp 0x43c459
xor ecx, ecx
push 0
mov dword [esp + 0x44], ebx
mov dword [esi + 8], ecx
call dword [0x4ec35c]
mov ecx, dword [esi + 8]
push 0
push 0
push 0
push 0
call dword [0x4ec330]
push ebx
lea ecx, [esp + 0x1c]
push 0x4f4e80
push ecx
call ebp
add esp, 0xc
mov ecx, dword [esi + 8]
push eax
mov dword [esp + 0x44], 6
call dword [0x4eb844]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x40], ebx
mov eax, ebx
lock xadd dword [edx], eax
jne 0x43c4b9
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x4eba10]
add esp, 4
push 0x24
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0x40], 7
test edi, edi
je 0x43c4ed
push 1
push 7
push 0x14
push 0x28
mov ecx, edi
call dword [0x4ec9cc]
mov dword [edi], 0x4f4df4
jmp 0x43c4ef
xor edi, edi
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], edi
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
push edi
mov dword [esp + 0x44], ebx
call eax
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0x40], 8
test edi, edi
je 0x43c538
mov ecx, dword [esi + 4]
push ecx
mov ecx, edi
call dword [0x4ec4bc]
mov dword [edi], 0x4f7084
mov dword [edi + 8], 0x4f7064
jmp 0x43c53a
xor edi, edi
push ebx
lea edx, [esp + 0x1c]
push 0x4f82e4
push edx
mov dword [esp + 0x4c], ebx
mov dword [esi + 0x10], edi
call ebp
add esp, 0xc
mov ecx, dword [esi + 0x10]
push eax
mov dword [esp + 0x44], 9
call dword [0x4eb844]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], ebx
mov ecx, ebx
lock xadd dword [eax], ecx
jne 0x43c581
mov edx, dword [esp + 0x18]
push edx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x10]
push 0
push 0x6e
call dword [0x4ec340]
lea ecx, [esp + 0x20]
call dword [0x4ec978]
push ebx
lea eax, [esp + 0x1c]
push 0x4f6fcc
push eax
mov dword [esp + 0x4c], 0xa
call ebp
add esp, 0xc
push 1
push 0
lea ecx, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x50], 0xb
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
call dword [0x4ec97c]
mov edx, dword [esp + 0x18]
mov byte [esp + 0x40], 0xa
lock xadd dword [edx], ebx
jne 0x43c5ee
mov eax, dword [esp + 0x18]
push eax
call dword [0x4eba10]
add esp, 4
mov ebp, dword [0x4ec4c0]
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [esi + 0x10]
call ebp
mov ecx, dword [esi + 0x10]
mov ebx, dword [0x4ec4c4]
mov eax, 0x18
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
call ebx
mov ecx, dword [esi + 0x10]
push 3
call dword [0x4ec4cc]
mov ecx, dword [esi + 0x10]
push 1
call dword [0x4ec4d0]
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
mov dword [eax], 0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
push 0
push eax
call dword [0x4ec98c]
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0xc
test edi, edi
je 0x43c681
mov ecx, dword [esi + 4]
push ecx
mov ecx, edi
call dword [0x4ec4bc]
mov dword [edi], 0x4f7084
mov dword [edi + 8], 0x4f7064
jmp 0x43c683
xor edi, edi
push 0xffffffffffffffff
lea edx, [esp + 0x1c]
push 0x4f7a14
push edx
mov byte [esp + 0x4c], 0xa
mov dword [esi + 0x14], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x14]
push eax
mov byte [esp + 0x44], 0xd
call dword [0x4eb844]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x40], 0xa
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43c6cf
mov edx, dword [esp + 0x18]
push edx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x14]
push 0
call dword [0x4eca5c]
mov ecx, dword [esi + 0x14]
push 0
push 0x6e
call dword [0x4ec340]
lea ecx, [esp + 0x1c]
call dword [0x4ec978]
or edi, 0xffffffff
push edi
lea eax, [esp + 0x1c]
push 0x4f6ffc
push eax
mov byte [esp + 0x4c], 0xe
call dword [0x4eb840]
add esp, 0xc
push 1
push 0
lea ecx, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x50], 0xf
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], edi
call dword [0x4ec97c]
mov edx, dword [esp + 0x18]
mov byte [esp + 0x40], 0xe
lock xadd dword [edx], edi
jne 0x43c74b
mov eax, dword [esp + 0x18]
push eax
call dword [0x4eba10]
add esp, 4
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esi + 0x14]
call ebp
mov ecx, dword [esi + 0x14]
mov eax, 0x18
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
call ebx
mov ecx, dword [esi + 0x14]
push 3
call dword [0x4ec4cc]
mov ecx, dword [esi + 0x14]
push 1
call dword [0x4ec4d0]
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
mov dword [eax], 0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 8]
push 0
push eax
call dword [0x4ec98c]
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
push 1
push 1
push 1
mov dword [eax], 0
mov ecx, dword [esi + 4]
push 0
push ecx
mov ecx, dword [esi]
call dword [0x4ec350]
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x10
test edi, edi
je 0x43c7f4
mov edx, dword [esp + 0x48]
push edx
mov ecx, edi
call dword [0x4ebc84]
mov dword [edi], 0x4f8204
mov dword [edi + 8], 0x4f81e8
jmp 0x43c7f6
xor edi, edi
mov ebp, dword [0x4eb840]
push 0xffffffffffffffff
lea eax, [esp + 0x1c]
push 0x4f81d0
push eax
mov byte [esp + 0x4c], 0xe
mov dword [esi + 0x18], edi
call ebp
add esp, 0xc
mov ecx, dword [esi + 0x18]
mov ebx, dword [0x4eb844]
push eax
mov byte [esp + 0x44], 0x11
call ebx
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x40], 0xe
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43c846
mov eax, dword [esp + 0x18]
push eax
call dword [0x4eba10]
add esp, 4
lea ecx, [esp + 0x30]
call dword [0x4ec384]
push 0xc
lea ecx, [esp + 0x34]
mov byte [esp + 0x44], 0x12
call dword [0x4ebc80]
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esi + 0x18]
call dword [0x4ec388]
mov ecx, dword [esi + 0x18]
push 3
call dword [0x4ec360]
mov ecx, dword [esi + 0x18]
push 1
call dword [0x4ebc7c]
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
push 1
push 1
push 1
mov dword [eax], 0
mov edx, dword [esi + 0x18]
mov ecx, dword [esi]
push 1
push edx
call dword [0x4ec350]
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x13
test edi, edi
je 0x43c8db
mov eax, dword [esp + 0x48]
push eax
mov ecx, edi
call dword [0x4ec554]
mov dword [edi], 0x4f6834
mov dword [edi + 8], 0x4f6818
jmp 0x43c8dd
xor edi, edi
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
push 0x4f81c4
push ecx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x1c], edi
call ebp
add esp, 0xc
mov ecx, dword [esi + 0x1c]
push eax
mov byte [esp + 0x44], 0x14
call ebx
mov edx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x43c921
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x1c]
push 0xffffff
push 0x10e
call dword [0x4ec36c]
mov ecx, dword [esi + 0x1c]
push 0
call dword [0x4ebc78]
mov ecx, dword [esi + 0x1c]
mov ebx, dword [0x4ec560]
push 0
call ebx
mov ecx, dword [esi + 0x1c]
mov ebp, dword [0x4ebc64]
push 0
call ebp
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x15
test edi, edi
je 0x43c98d
mov edx, dword [esi + 0x1c]
push edx
mov ecx, edi
call dword [0x4ec358]
mov dword [edi], 0x4f523c
mov dword [edi + 8], 0x4f51fc
jmp 0x43c98f
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x1c]
push 0x4f51e4
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x20], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x20]
push eax
mov byte [esp + 0x44], 0x16
call dword [0x4eb844]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43c9db
mov eax, dword [esp + 0x18]
push eax
call dword [0x4eba10]
add esp, 4
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x17
test edi, edi
je 0x43ca0f
mov ecx, dword [esi + 0x1c]
push ecx
mov ecx, edi
call dword [0x4ec554]
mov dword [edi], 0x4f6834
mov dword [edi + 8], 0x4f6818
jmp 0x43ca11
xor edi, edi
push 0xffffffffffffffff
lea edx, [esp + 0x1c]
push 0x4f81b8
push edx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x24], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x24]
push eax
mov byte [esp + 0x44], 0x18
call dword [0x4eb844]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43ca5d
mov edx, dword [esp + 0x18]
push edx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x24]
push 1
call ebx
mov ecx, dword [esi + 0x24]
push 1
call ebp
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x19
test edi, edi
je 0x43ca9f
mov eax, dword [esi + 0x24]
push eax
mov ecx, edi
call dword [0x4ec358]
mov dword [edi], 0x4f523c
mov dword [edi + 8], 0x4f51fc
jmp 0x43caa1
xor edi, edi
mov ebp, dword [0x4eb840]
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
push 0x4f81a4
push ecx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x28], edi
call ebp
add esp, 0xc
mov ecx, dword [esi + 0x28]
mov ebx, dword [0x4eb844]
push eax
mov byte [esp + 0x44], 0x1a
call ebx
mov edx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x43caf1
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x4eba10]
add esp, 4
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x1b
test edi, edi
je 0x43cb25
mov edx, dword [esi + 0x24]
push edx
mov ecx, edi
call dword [0x4ec558]
mov dword [edi], 0x4f66fc
mov dword [edi + 8], 0x4f66e0
jmp 0x43cb27
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x1c]
push 0x4f8194
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x2c], edi
call ebp
add esp, 0xc
mov ecx, dword [esi + 0x2c]
push eax
mov byte [esp + 0x44], 0x1c
call ebx
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43cb6b
mov eax, dword [esp + 0x18]
push eax
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x2c]
mov ebp, dword [0x4ec568]
push 1
call ebp
mov ebx, dword [0x4ec98c]
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
mov dword [eax], 0
mov ecx, dword [esi + 0x2c]
push 0
push ecx
mov ecx, dword [esi + 0x28]
call ebx
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x1d
test edi, edi
je 0x43cbca
mov edx, dword [esi + 0x24]
push edx
mov ecx, edi
call dword [0x4ec558]
mov dword [edi], 0x4f66fc
mov dword [edi + 8], 0x4f66e0
jmp 0x43cbcc
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x1c]
push 0x4f8184
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x30], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x30]
push eax
mov byte [esp + 0x44], 0x1e
call dword [0x4eb844]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43cc18
mov eax, dword [esp + 0x18]
push eax
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x30]
push 1
call ebp
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
mov dword [eax], 0
mov ecx, dword [esi + 0x30]
push 0
push ecx
mov ecx, dword [esi + 0x28]
call ebx
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x1f
test edi, edi
je 0x43cc6b
mov edx, dword [esi + 0x24]
push edx
mov ecx, edi
call dword [0x4ec558]
mov dword [edi], 0x4f66fc
mov dword [edi + 8], 0x4f66e0
jmp 0x43cc6d
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x1c]
push 0x4f8168
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x34], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x34]
push eax
mov byte [esp + 0x44], 0x20
call dword [0x4eb844]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43ccb9
mov eax, dword [esp + 0x18]
push eax
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x34]
push 1
call ebp
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
mov dword [eax], 0
mov ecx, dword [esi + 0x34]
push 0
push ecx
mov ecx, dword [esi + 0x28]
call ebx
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x21
test edi, edi
je 0x43cd0c
mov edx, dword [esi + 0x24]
push edx
mov ecx, edi
call dword [0x4ec558]
mov dword [edi], 0x4f66fc
mov dword [edi + 8], 0x4f66e0
jmp 0x43cd0e
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x1c]
push 0x4f8150
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x38], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x38]
push eax
mov byte [esp + 0x44], 0x22
call dword [0x4eb844]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43cd5a
mov eax, dword [esp + 0x18]
push eax
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x38]
push 1
call ebp
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
mov dword [eax], 0
mov ecx, dword [esi + 0x38]
push 0
push ecx
mov ecx, dword [esi + 0x28]
call ebx
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
mov dword [eax], 0
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x20]
push 0
push edx
call ebx
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x23
test edi, edi
je 0x43cdc5
mov eax, dword [esi + 0x1c]
push eax
mov ecx, edi
call dword [0x4ec554]
mov dword [edi], 0x4f6834
mov dword [edi + 8], 0x4f6818
jmp 0x43cdc7
xor edi, edi
mov ebp, dword [0x4eb840]
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
push 0x4f8140
push ecx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x3c], edi
call ebp
add esp, 0xc
mov ecx, dword [esi + 0x3c]
mov ebx, dword [0x4eb844]
push eax
mov byte [esp + 0x44], 0x24
call ebx
mov edx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x43ce17
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x3c]
push 1
call dword [0x4ec560]
mov ecx, dword [esi + 0x3c]
push 1
call dword [0x4ebc64]
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x25
test edi, edi
je 0x43ce61
mov edx, dword [esi + 0x3c]
push edx
mov ecx, edi
call dword [0x4ec328]
mov dword [edi], 0x4f54cc
mov dword [edi + 8], 0x4f548c
jmp 0x43ce63
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x1c]
push 0x4f8130
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x40], edi
call ebp
add esp, 0xc
mov ecx, dword [esi + 0x40]
push eax
mov byte [esp + 0x44], 0x26
call ebx
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43cea7
mov eax, dword [esp + 0x18]
push eax
call dword [0x4eba10]
add esp, 4
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov ebp, dword [0x4ec564]
mov byte [esp + 0x40], 0x27
mov ebx, 0x4f6588
test edi, edi
je 0x43cede
mov ecx, dword [esi + 0x3c]
push ecx
mov ecx, edi
call ebp
mov dword [edi], 0x4f65a4
mov dword [edi + 8], ebx
jmp 0x43cee0
xor edi, edi
push 0xffffffffffffffff
lea edx, [esp + 0x1c]
push 0x4f8114
push edx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x44], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x44]
push eax
mov byte [esp + 0x44], 0x28
call dword [0x4eb844]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43cf2c
mov edx, dword [esp + 0x18]
push edx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x44]
push 1
call dword [0x4ec568]
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
push 1
push 1
push 0
mov dword [eax], 0
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x40]
push 0
push eax
call dword [0x4ec350]
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x29
test edi, edi
je 0x43cf85
mov ecx, dword [esi + 0x3c]
push ecx
mov ecx, edi
call ebp
mov dword [edi], 0x4f65a4
mov dword [edi + 8], ebx
jmp 0x43cf87
xor edi, edi
mov ebp, dword [0x4eb840]
push 0xffffffffffffffff
lea edx, [esp + 0x1c]
push 0x4f80f8
push edx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x48], edi
call ebp
add esp, 0xc
mov ecx, dword [esi + 0x48]
mov ebx, dword [0x4eb844]
push eax
mov byte [esp + 0x44], 0x2a
call ebx
mov eax, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43cfd7
mov edx, dword [esp + 0x18]
push edx
call dword [0x4eba10]
add esp, 4
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
push 1
push 1
push 0
mov dword [eax], 0
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x40]
push 1
push eax
call dword [0x4ec350]
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x2b
test edi, edi
je 0x43d029
mov ecx, edi
call dword [0x4ec4d8]
mov dword [edi], 0x4f5054
mov dword [edi + 8], 0x4f5014
jmp 0x43d02b
xor edi, edi
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
push 0x4f6514
push ecx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x4c], edi
call ebp
add esp, 0xc
mov ecx, dword [esi + 0x4c]
push eax
mov byte [esp + 0x44], 0x2c
call ebx
mov edx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x43d06f
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x4eba10]
add esp, 4
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x2d
test edi, edi
je 0x43d0b0
push ecx
mov eax, esp
mov dword [eax], 0
mov edx, dword [esi + 0x3c]
mov dword [esp + 0x1c], esp
push edx
mov ecx, edi
call dword [0x4ec994]
mov dword [edi], 0x4f4f34
mov dword [edi + 8], 0x4f4f18
jmp 0x43d0b2
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x1c]
push 0x4f80e0
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x50], edi
call ebp
add esp, 0xc
mov ecx, dword [esi + 0x50]
push eax
mov byte [esp + 0x44], 0x2e
call ebx
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43d0f6
mov eax, dword [esp + 0x18]
push eax
call dword [0x4eba10]
add esp, 4
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esi + 0x50]
call dword [0x4ec338]
mov eax, dword [eax]
mov ecx, dword [esi + 0x50]
shr eax, 8
and al, 1
movzx ebp, al
neg ebp
sbb ebp, ebp
and ebp, 0x100
push ebp
call dword [0x4ec33c]
mov ebx, dword [0x4ec98c]
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
mov dword [eax], 0
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0x4c]
push 0
push edx
call ebx
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x2f
test edi, edi
je 0x43d174
mov eax, dword [esi + 0x3c]
push eax
mov ecx, edi
call dword [0x4ec4e4]
mov dword [edi], 0x4f6e94
mov dword [edi + 8], 0x4f6e78
jmp 0x43d176
xor edi, edi
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
push 0x4f80c4
push ecx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x54], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x54]
push eax
mov byte [esp + 0x44], 0x30
call dword [0x4eb844]
mov edx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x43d1c2
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x54]
push 0
call dword [0x4eca5c]
mov ecx, dword [esi + 0x54]
lea edx, [esp + 0x24]
push edx
call dword [0x4ec338]
mov eax, dword [eax]
mov ecx, dword [esi + 0x54]
shr eax, 8
and al, 1
movzx eax, al
neg eax
sbb eax, eax
and eax, 0x100
add eax, 7
push eax
call dword [0x4ec33c]
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
mov dword [eax], 0
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x4c]
push 0
push eax
call ebx
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
push 1
push 1
push 0
mov dword [eax], 0
mov ecx, dword [esi + 0x4c]
push 2
push ecx
mov ecx, dword [esi + 0x40]
call dword [0x4ec508]
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x31
test edi, edi
je 0x43d265
mov ecx, edi
call dword [0x4ec4d8]
mov dword [edi], 0x4f5054
mov dword [edi + 8], 0x4f5014
jmp 0x43d267
xor edi, edi
push 0xffffffffffffffff
lea edx, [esp + 0x1c]
push 0x4f64c8
push edx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x58], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x58]
push eax
mov byte [esp + 0x44], 0x32
call dword [0x4eb844]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43d2b3
mov edx, dword [esp + 0x18]
push edx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x58]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
call dword [0x4ec330]
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x33
test edi, edi
je 0x43d305
push ecx
mov eax, esp
mov dword [eax], 0
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x1c], esp
push eax
mov ecx, edi
call dword [0x4ec994]
mov dword [edi], 0x4f4f34
mov dword [edi + 8], 0x4f4f18
jmp 0x43d307
xor edi, edi
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
push 0x4f80ac
push ecx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x5c], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x5c]
push eax
mov byte [esp + 0x44], 0x34
call dword [0x4eb844]
mov edx, dword [esp + 0x18]
mov byte [esp + 0x40], 0x12
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x43d353
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x24]
push edx
call dword [0x4ec338]
mov eax, dword [eax]
shr eax, 8
and al, 1
je 0x43d372
or ebp, 0x100
jmp 0x43d378
and ebp, 0xfffffeff
mov ecx, dword [esi + 0x5c]
push ebp
mov dword [esp + 0x1c], ebp
call dword [0x4ec33c]
mov ecx, dword [esi + 0x5c]
push 0xd
push 0x2b
call dword [0x4ec340]
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
mov dword [eax], 0
mov ecx, dword [esi + 0x5c]
push 0
push ecx
mov ecx, dword [esi + 0x58]
call ebx
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x35
test edi, edi
je 0x43d3df
mov edx, dword [esi + 0x3c]
push edx
mov ecx, edi
call dword [0x4ec4e4]
mov dword [edi], 0x4f6e94
mov dword [edi + 8], 0x4f6e78
jmp 0x43d3e1
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x28]
push 0x4f8090
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x60], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x60]
mov ebp, dword [0x4eb844]
push eax
mov byte [esp + 0x44], 0x36
call ebp
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43d42f
mov eax, dword [esp + 0x24]
push eax
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x60]
push 0
call dword [0x4eca5c]
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
mov dword [eax], 0
mov ecx, dword [esi + 0x60]
push 0
push ecx
mov ecx, dword [esi + 0x58]
call ebx
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
push 1
push 1
push 0
mov dword [eax], 0
mov edx, dword [esi + 0x58]
mov ecx, dword [esi + 0x40]
push 3
push edx
call dword [0x4ec508]
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x37
test edi, edi
je 0x43d4a4
mov ecx, edi
call dword [0x4ec4d8]
mov dword [edi], 0x4f5054
mov dword [edi + 8], 0x4f5014
jmp 0x43d4a6
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x28]
push 0x4f807c
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x64], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x64]
push eax
mov byte [esp + 0x44], 0x38
call ebp
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43d4ee
mov eax, dword [esp + 0x24]
push eax
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x64]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
call dword [0x4ec330]
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov byte [esp + 0x40], 0x39
test edi, edi
je 0x43d540
push ecx
mov eax, esp
mov dword [eax], 0
mov ecx, dword [esi + 0x3c]
mov dword [esp + 0x2c], esp
push ecx
mov ecx, edi
call dword [0x4ec994]
mov dword [edi], 0x4f4f34
mov dword [edi + 8], 0x4f4f18
jmp 0x43d542
xor edi, edi
push 0xffffffffffffffff
lea edx, [esp + 0x28]
push 0x4f8060
push edx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x68], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x68]
push eax
mov byte [esp + 0x44], 0x3a
call ebp
mov eax, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43d58a
mov edx, dword [esp + 0x24]
push edx
call dword [0x4eba10]
add esp, 4
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x64]
push 0
push eax
call ebx
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x3b
test edi, edi
je 0x43d5d6
mov ecx, dword [esi + 0x3c]
push ecx
mov ecx, edi
call dword [0x4ec4e4]
mov dword [edi], 0x4f6e94
mov dword [edi + 8], 0x4f6e78
jmp 0x43d5d8
xor edi, edi
push 0xffffffffffffffff
lea edx, [esp + 0x28]
push 0x4f8040
push edx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x6c], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x6c]
push eax
mov byte [esp + 0x44], 0x3c
call ebp
mov eax, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43d620
mov edx, dword [esp + 0x24]
push edx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x6c]
push 0
call dword [0x4eca5c]
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x64]
push 0
push eax
call ebx
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
push 1
push 1
push 0
mov dword [eax], 0
mov ecx, dword [esi + 0x64]
push 4
push ecx
mov ecx, dword [esi + 0x40]
call dword [0x4ec508]
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x20]
push 0
push edx
call ebx
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x3d
test edi, edi
je 0x43d6b1
mov eax, dword [esi + 0x1c]
push eax
mov ecx, edi
call dword [0x4ec554]
mov dword [edi], 0x4f6834
mov dword [edi + 8], 0x4f6818
jmp 0x43d6b3
xor edi, edi
push 0xffffffffffffffff
lea ecx, [esp + 0x28]
push 0x4f8030
push ecx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x70], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x70]
push eax
mov byte [esp + 0x44], 0x3e
call ebp
mov edx, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x43d6fb
mov ecx, dword [esp + 0x24]
push ecx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x70]
mov ebp, dword [0x4ec560]
push 1
call ebp
mov ecx, dword [esi + 0x70]
push 0
call dword [0x4ebc64]
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x3f
test edi, edi
je 0x43d747
mov edx, dword [esi + 0x70]
push edx
mov ecx, edi
call dword [0x4ec328]
mov dword [edi], 0x4f54cc
mov dword [edi + 8], 0x4f548c
jmp 0x43d749
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x28]
push 0x4f51d0
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x74], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x74]
mov ebx, dword [0x4eb844]
push eax
mov byte [esp + 0x44], 0x40
call ebx
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43d797
mov eax, dword [esp + 0x24]
push eax
call dword [0x4eba10]
add esp, 4
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x41
test edi, edi
je 0x43d7cb
mov ecx, dword [esi + 0x70]
push ecx
mov ecx, edi
call dword [0x4ec558]
mov dword [edi], 0x4f66fc
mov dword [edi + 8], 0x4f66e0
jmp 0x43d7cd
xor edi, edi
push 0xffffffffffffffff
lea edx, [esp + 0x28]
push 0x4f8014
push edx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x78], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x78]
push eax
mov byte [esp + 0x44], 0x42
call ebx
mov eax, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43d815
mov edx, dword [esp + 0x24]
push edx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x78]
mov ebx, dword [0x4ec568]
push 1
call ebx
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
push 1
push 1
push 0
mov dword [eax], 0
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x74]
push 0
push eax
call dword [0x4ec350]
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0
mov ecx, dword [esi + 0x70]
push 0
push ecx
mov ecx, dword [esi + 0x20]
call dword [0x4ec98c]
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x43
test edi, edi
je 0x43d894
mov edx, dword [esi + 0x1c]
push edx
mov ecx, edi
call dword [0x4ec554]
mov dword [edi], 0x4f6834
mov dword [edi + 8], 0x4f6818
jmp 0x43d896
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x28]
push 0x4f8004
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x7c], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x7c]
push eax
mov byte [esp + 0x44], 0x44
call dword [0x4eb844]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43d8e2
mov eax, dword [esp + 0x24]
push eax
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x7c]
push 0xffffff
push 0xffffff
call dword [0x4ec36c]
mov ecx, dword [esi + 0x7c]
push 1
call ebp
mov ecx, dword [esi + 0x7c]
push 0
call dword [0x4ebc64]
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x45
test edi, edi
je 0x43d93b
mov ecx, dword [esi + 0x7c]
push ecx
mov ecx, edi
call dword [0x4ec328]
mov dword [edi], 0x4f54cc
mov dword [edi + 8], 0x4f548c
jmp 0x43d93d
xor edi, edi
push 0xffffffffffffffff
lea edx, [esp + 0x28]
push 0x4f5474
push edx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x80], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x80]
mov ebp, dword [0x4eb844]
push eax
mov byte [esp + 0x44], 0x46
call ebp
mov eax, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43d991
mov edx, dword [esp + 0x24]
push edx
call dword [0x4eba10]
add esp, 4
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x47
test edi, edi
je 0x43d9c5
mov eax, dword [esi + 0x7c]
push eax
mov ecx, edi
call dword [0x4ec558]
mov dword [edi], 0x4f66fc
mov dword [edi + 8], 0x4f66e0
jmp 0x43d9c7
xor edi, edi
push 0xffffffffffffffff
lea ecx, [esp + 0x28]
push 0x4f7fe8
push ecx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x84], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x84]
push eax
mov byte [esp + 0x44], 0x48
call ebp
mov edx, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x43da15
mov ecx, dword [esp + 0x24]
push ecx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x84]
push 1
call ebx
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
push 1
push 1
push 0
mov dword [eax], 0
mov edx, dword [esi + 0x84]
mov ecx, dword [esi + 0x80]
push 0
push edx
call dword [0x4ec350]
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x49
test edi, edi
je 0x43da77
mov ecx, edi
call dword [0x4ec4d8]
mov dword [edi], 0x4f5054
mov dword [edi + 8], 0x4f5014
jmp 0x43da79
xor edi, edi
mov ebx, dword [0x4eb840]
push 0xffffffffffffffff
lea eax, [esp + 0x28]
push 0x4f6678
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x88], edi
call ebx
add esp, 0xc
mov ecx, dword [esi + 0x88]
push eax
mov byte [esp + 0x44], 0x4a
call ebp
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43dac9
mov eax, dword [esp + 0x24]
push eax
call dword [0x4eba10]
add esp, 4
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x4b
test edi, edi
je 0x43db0a
push ecx
mov eax, esp
mov dword [eax], 0
mov ecx, dword [esi + 0x7c]
mov dword [esp + 0x28], esp
push ecx
mov ecx, edi
call dword [0x4ec994]
mov dword [edi], 0x4f4f34
mov dword [edi + 8], 0x4f4f18
jmp 0x43db0c
xor edi, edi
push 0xffffffffffffffff
lea edx, [esp + 0x28]
push 0x4f7fd8
push edx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x8c], edi
call ebx
add esp, 0xc
mov ecx, dword [esi + 0x8c]
push eax
mov byte [esp + 0x44], 0x4c
call ebp
mov eax, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43db56
mov edx, dword [esp + 0x24]
push edx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0x8c]
lea eax, [esp + 0x28]
push eax
call dword [0x4ec338]
mov ecx, dword [eax]
mov ebp, dword [esp + 0x18]
shr ecx, 8
and cl, 1
je 0x43db7d
or ebp, 0x100
jmp 0x43db83
and ebp, 0xfffffeff
mov ecx, dword [esi + 0x8c]
push ebp
call dword [0x4ec33c]
mov ebx, dword [0x4ec98c]
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0
mov edx, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
push 0
push edx
call ebx
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x4d
test edi, edi
je 0x43dbe8
mov eax, dword [esi + 0x7c]
push eax
mov ecx, edi
call dword [0x4ec4f0]
mov dword [edi], 0x4f6d8c
mov dword [edi + 8], 0x4f6d70
jmp 0x43dbea
xor edi, edi
push 0xffffffffffffffff
lea ecx, [esp + 0x28]
push 0x4f7fc8
push ecx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x90], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x90]
push eax
mov byte [esp + 0x44], 0x4e
call dword [0x4eb844]
mov edx, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x43dc3c
mov ecx, dword [esp + 0x24]
push ecx
call dword [0x4eba10]
add esp, 4
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0
mov edx, dword [esi + 0x90]
mov ecx, dword [esi + 0x88]
push 0
push edx
call ebx
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
push 1
push 1
push 0
mov dword [eax], 0
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x80]
push 1
push eax
call dword [0x4ec508]
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x4f
test edi, edi
je 0x43dcb2
mov ecx, edi
call dword [0x4ec4d8]
mov dword [edi], 0x4f5054
mov dword [edi + 8], 0x4f5014
jmp 0x43dcb4
xor edi, edi
push 0xffffffffffffffff
lea ecx, [esp + 0x28]
push 0x4f67d0
push ecx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x94], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x94]
push eax
mov byte [esp + 0x44], 0x50
call dword [0x4eb844]
mov edx, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x43dd06
mov ecx, dword [esp + 0x24]
push ecx
call dword [0x4eba10]
add esp, 4
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x51
test edi, edi
je 0x43dd47
push ecx
mov eax, esp
mov dword [eax], 0
mov edx, dword [esi + 0x7c]
mov dword [esp + 0x28], esp
push edx
mov ecx, edi
call dword [0x4ec994]
mov dword [edi], 0x4f4f34
mov dword [edi + 8], 0x4f4f18
jmp 0x43dd49
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x28]
push 0x4f7fb8
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x98], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x98]
push eax
mov byte [esp + 0x44], 0x52
call dword [0x4eb844]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43dd9b
mov eax, dword [esp + 0x24]
push eax
call dword [0x4eba10]
add esp, 4
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esi + 0x98]
call dword [0x4ec338]
mov edx, dword [eax]
shr edx, 8
and dl, 1
je 0x43ddbe
or ebp, 0x100
jmp 0x43ddc4
and ebp, 0xfffffeff
mov ecx, dword [esi + 0x98]
push ebp
call dword [0x4ec33c]
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x94]
push 0
push eax
call ebx
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x53
test edi, edi
je 0x43de23
mov ecx, dword [esi + 0x7c]
push ecx
mov ecx, edi
call dword [0x4ec4e4]
mov dword [edi], 0x4f6e94
mov dword [edi + 8], 0x4f6e78
jmp 0x43de25
xor edi, edi
push 0xffffffffffffffff
lea edx, [esp + 0x28]
push 0x4f7fa4
push edx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0x9c], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0x9c]
push eax
mov byte [esp + 0x44], 0x54
call dword [0x4eb844]
mov eax, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43de77
mov edx, dword [esp + 0x24]
push edx
call dword [0x4eba10]
add esp, 4
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0x94]
push 0
push eax
call ebx
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
push 1
push 1
push 0
mov dword [eax], 0
mov ecx, dword [esi + 0x94]
push 2
push ecx
mov ecx, dword [esi + 0x80]
call dword [0x4ec508]
push 0x10
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x55
test edi, edi
je 0x43deed
mov ecx, edi
call dword [0x4ec4d8]
mov dword [edi], 0x4f5054
mov dword [edi + 8], 0x4f5014
jmp 0x43deef
xor edi, edi
push 0xffffffffffffffff
lea edx, [esp + 0x28]
push 0x4f4ffc
push edx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0xa0], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0xa0]
push eax
mov byte [esp + 0x44], 0x56
call dword [0x4eb844]
mov eax, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43df41
mov edx, dword [esp + 0x24]
push edx
call dword [0x4eba10]
add esp, 4
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x57
test edi, edi
je 0x43df82
push ecx
mov eax, esp
mov dword [eax], 0
mov eax, dword [esi + 0x7c]
mov dword [esp + 0x28], esp
push eax
mov ecx, edi
call dword [0x4ec994]
mov dword [edi], 0x4f4f34
mov dword [edi + 8], 0x4f4f18
jmp 0x43df84
xor edi, edi
push 0xffffffffffffffff
lea ecx, [esp + 0x28]
push 0x4f7f94
push ecx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0xa4], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0xa4]
push eax
mov byte [esp + 0x44], 0x58
call dword [0x4eb844]
mov edx, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x43dfd6
mov ecx, dword [esp + 0x24]
push ecx
call dword [0x4eba10]
add esp, 4
mov ecx, dword [esi + 0xa4]
lea edx, [esp + 0x28]
push edx
call dword [0x4ec338]
mov eax, dword [eax]
shr eax, 8
and al, 1
je 0x43dff8
or ebp, 0x100
jmp 0x43dffe
and ebp, 0xfffffeff
mov ecx, dword [esi + 0xa4]
push ebp
call dword [0x4ec33c]
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0
mov ecx, dword [esi + 0xa4]
push 0
push ecx
mov ecx, dword [esi + 0xa0]
call ebx
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x59
test edi, edi
je 0x43e05d
mov edx, dword [esi + 0x7c]
push edx
mov ecx, edi
call dword [0x4ec4e4]
mov dword [edi], 0x4f6e94
mov dword [edi + 8], 0x4f6e78
jmp 0x43e05f
xor edi, edi
push 0xffffffffffffffff
lea eax, [esp + 0x28]
push 0x4f7f84
push eax
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0xa8], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0xa8]
mov ebp, dword [0x4eb844]
push eax
mov byte [esp + 0x44], 0x5a
call ebp
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x43e0b3
mov eax, dword [esp + 0x24]
push eax
call dword [0x4eba10]
add esp, 4
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0
mov ecx, dword [esi + 0xa8]
push 0
push ecx
mov ecx, dword [esi + 0xa0]
call ebx
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
push 1
push 1
push 0
mov dword [eax], 0
mov edx, dword [esi + 0xa0]
mov ecx, dword [esi + 0x80]
push 3
push edx
call dword [0x4ec508]
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x20]
push 0
push eax
call ebx
push 0x14
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x5b
test edi, edi
je 0x43e145
mov ecx, dword [esi + 0x1c]
push ecx
mov ecx, edi
call dword [0x4ec500]
mov dword [edi], 0x4f6c4c
mov dword [edi + 8], 0x4f6c2c
jmp 0x43e147
xor edi, edi
push 0xffffffffffffffff
lea edx, [esp + 0x28]
push 0x4f7f78
push edx
mov byte [esp + 0x4c], 0x12
mov dword [esi + 0xac], edi
call dword [0x4eb840]
add esp, 0xc
mov ecx, dword [esi + 0xac]
push eax
mov byte [esp + 0x44], 0x5c
call ebp
mov eax, dword [esp + 0x24]
mov byte [esp + 0x40], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x43e195
mov edx, dword [esp + 0x24]
push edx
call dword [0x4eba10]
add esp, 4
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
mov dword [eax], 0
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0x20]
push 0
push eax
call ebx
push 0x24
call fcn.004cab98
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
mov byte [esp + 0x40], 0x5d
test edi, edi
je 0x43e1e3
push 7
push 1
push 0x2b
push 0x14
mov ecx, edi
call dword [0x4ec9cc]
mov dword [edi], 0x4f4df4
mov eax, edi
jmp 0x43e1e5
xor eax, eax
mov ecx, dword [esi + 0x20]
mov dword [esi + 0xb0], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
mov byte [esp + 0x44], 0x12
call eax
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
push 1
push 2
push 0
mov dword [eax], 0
mov ecx, dword [esi + 0x1c]
push 0
push ecx
mov ecx, dword [esi]
call dword [0x4ec350]
mov edi, dword [esp + 0x48]
push edi
mov ecx, esi
call fcn.0043b510
push edi
call dword [0x4eb848]
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x40], 0xe
call dword [0x4ecb04]
mov esi, dword [0x4ec9d8]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x40], 0xa
call esi
lea ecx, [esp + 0x20]
mov dword [esp + 0x40], 0xffffffff
call esi
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 4