Function at 0x442100
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4babe5
mov eax, dword fs:[0]
push eax
sub esp, 0x14c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4eb86c]
xor eax, esp
push eax
lea eax, [esp + 0x160]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x34], edi
push str.CSifFile::setupCopyFiles
lea ecx, [esp + 0x130]
call fcn.00405a40
xor esi, esi
mov dword [esp + 0x168], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
lea eax, [esp + 0x18]
push eax
mov ecx, edi
mov byte [esp + 0x16c], 1
call fcn.00441180
cmp eax, esi
mov dword [esp + 0x124], eax
mov dword [esp + 0x28], esi
jbe 0x442b7c
xor ebx, ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov esi, dword [esp + 0x1c]
cmp esi, ebx
mov edi, dword [esp + 0x28]
mov byte [esp + 0x168], 2
je 0x4421c5
mov ecx, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x4421ce
call fcn.00488c34
mov esi, dword [esp + 0x1c]
lea eax, [edi*8]
sub eax, edi
add eax, eax
add eax, eax
mov esi, dword [eax + esi + 4]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x38]
push esi
add ecx, 0x90
mov dword [esp + 0x34], eax
call fcn.004544d0
cmp eax, ebx
mov dword [esp + 0x11c], eax
mov dword [esp + 0x6c], ebx
jbe 0x442b0a
mov dword [esp + 0x118], 0
mov dword [esp + 0x140], 1
mov dword [esp + 0x148], 2
mov dword [esp + 0x150], 3
lea ecx, [esp + 0x38]
call fcn.0041f500
mov dword [esp + 0x3c], eax
mov byte [eax + 0x15], 1
mov eax, dword [esp + 0x3c]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [eax], eax
mov eax, dword [esp + 0x3c]
mov dword [eax + 8], eax
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x74]
test eax, eax
mov byte [esp + 0x168], 3
je 0x442283
mov ecx, dword [esp + 0x78]
sub ecx, eax
sar ecx, 2
cmp dword [esp + 0x6c], ecx
jb 0x44228c
call fcn.00488c34
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
mov eax, dword [eax + edx*4]
push 0x4c1250
lea ecx, [esp + 0x3c]
push ecx
push eax
call fcn.00454580
add esp, 0xc
lea ecx, [esp + 0x44]
call fcn.00433530
mov esi, dword [esp + 0x1c]
test esi, esi
mov byte [esp + 0x168], 4
je 0x4422de
mov ecx, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x28], eax
jb 0x4422e7
call fcn.00488c34
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + esi]
mov esi, dword [esp + 0x44]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x442343
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x442335
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x442335
push eax
call fcn.00403380
mov ebp, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x44232c
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebp, 0x10
mov dword [esp + 0x44], ebp
jmp 0x442343
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x4c]
call fcn.00401700
lea ecx, [esp + 0x118]
push ecx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x64], 0
call fcn.00428490
mov ecx, dword [eax]
mov ebx, dword [esp + 0x54]
lea eax, [ecx - 0x10]
lea esi, [ebx - 0x10]
cmp eax, esi
je 0x4423b4
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x4423a2
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4423a2
push eax
call fcn.00403380
mov ebp, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x442399
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
lea ebx, [ebp + 0x10]
mov dword [esp + 0x54], ebx
jmp 0x4423b4
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x5c]
call fcn.00401700
mov ebx, dword [esp + 0x54]
lea ecx, [esp + 0x140]
push ecx
lea ecx, [esp + 0x3c]
call fcn.00428490
mov eax, dword [eax]
mov edx, dword [esp + 0x48]
lea ecx, [eax - 0x10]
lea esi, [edx - 0x10]
cmp ecx, esi
je 0x442424
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x44240e
mov edx, dword [ecx]
cmp edx, dword [esi]
jne 0x44240e
push ecx
call fcn.00403380
mov ebp, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x442405
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
lea edx, [ebp + 0x10]
mov dword [esp + 0x48], edx
jmp 0x442424
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x50]
call fcn.00401700
mov ebx, dword [esp + 0x54]
mov edx, dword [esp + 0x48]
cmp dword [edx - 0xc], 0
jne 0x44247b
lea eax, [ebx - 0x10]
lea esi, [edx - 0x10]
cmp eax, esi
je 0x44247b
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x44246d
mov ecx, dword [eax]
cmp ecx, dword [esi]
jne 0x44246d
push eax
call fcn.00403380
add esp, 4
mov ebp, eax
or edx, 0xffffffff
lock xadd dword [edi], edx
dec edx
test edx, edx
jg 0x442464
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
add ebp, 0x10
mov dword [esp + 0x48], ebp
jmp 0x44247b
mov eax, dword [ebx - 0xc]
push eax
push ebx
lea ecx, [esp + 0x50]
call fcn.00401700
mov esi, dword [esp + 0x1c]
test esi, esi
mov ebp, dword [esp + 0x28]
je 0x4424a4
mov ecx, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x4424ad
call fcn.00488c34
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + esi + 0x18]
lea ecx, [esp + 0x148]
push ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x60], eax
call fcn.00428490
mov eax, dword [eax]
push 0x10
push 0
push eax
call fcn.00489758
add esp, 0xc
lea edx, [esp + 0x150]
push edx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x68], eax
call fcn.00428490
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.00489758
mov ecx, dword [0x4ed0cc]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x74], eax
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
add esp, 0xc
cmp eax, esi
je 0x442564
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x442556
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x442556
push eax
call fcn.00403380
mov ebp, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x442545
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ebx, dword [esp + 0x2c]
add ebp, 0x10
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp + 0x28]
jmp 0x442564
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x54]
call fcn.00401700
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x44258b
mov esi, dword [esp + 0x20]
mov edi, esi
sub edi, ecx
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442598
call fcn.00488c34
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebx + ecx + 8]
mov edi, dword [esp + 0x58]
lea edx, [eax - 0x10]
add edi, 0xfffffff0
cmp edx, edi
je 0x442601
cmp dword [edi + 0xc], 0
lea esi, [edi + 0xc]
jl 0x4425eb
mov ecx, dword [edx]
cmp ecx, dword [edi]
jne 0x4425eb
push edx
call fcn.00403380
add esp, 4
mov ebp, eax
or edx, 0xffffffff
lock xadd dword [esi], edx
dec edx
test edx, edx
jg 0x4425da
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov ebx, dword [esp + 0x2c]
add ebp, 0x10
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x28]
jmp 0x4425f9
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x60]
call fcn.00401700
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov edx, dword [0x4ed0d0]
mov edi, dword [esp + 0x50]
lea eax, [edx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
je 0x44266c
cmp dword [edi + 0xc], 0
lea esi, [edi + 0xc]
jl 0x442656
mov ecx, dword [eax]
cmp ecx, dword [edi]
jne 0x442656
push eax
call fcn.00403380
add esp, 4
mov ebp, eax
or edx, 0xffffffff
lock xadd dword [esi], edx
dec edx
test edx, edx
jg 0x442645
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov ebx, dword [esp + 0x2c]
add ebp, 0x10
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x28]
jmp 0x442664
mov eax, dword [edx - 0xc]
push eax
push edx
lea ecx, [esp + 0x58]
call fcn.00401700
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
test ecx, ecx
je 0x44268b
mov edi, esi
sub edi, ecx
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442698
call fcn.00488c34
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp dword [ebx + ecx + 0x14], 0
jne 0x442c3c
test ecx, ecx
je 0x4426c2
mov edi, esi
sub edi, ecx
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x4426cf
call fcn.00488c34
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp dword [ebx + ecx + 0x10], 1
jne 0x442894
test ecx, ecx
mov byte [esp + 0x60], 1
je 0x4426fc
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442705
call fcn.00488c34
mov ecx, dword [esp + 0x1c]
lea eax, [ebx + ecx + 8]
push eax
lea ecx, [esp + 0x5c]
call fcn.004047c0
push 0x4c3c24
lea eax, [esp + 0x8c]
push 0x4ed0cc
push eax
call fcn.0040c9c0
add esp, 0xc
mov edi, eax
mov esi, dword [esp + 0x1c]
test esi, esi
mov byte [esp + 0x168], 5
je 0x44275c
mov ecx, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442765
call fcn.00488c34
mov esi, dword [esp + 0x1c]
lea ecx, [ebx + esi + 0xc]
push ecx
lea edx, [esp + 0x148]
push edi
push edx
call fcn.0040c900
add esp, 0xc
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x16c], 6
call fcn.004047c0
mov eax, dword [esp + 0x144]
add eax, 0xfffffff0
mov byte [esp + 0x168], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4427b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x88]
add eax, 0xfffffff0
mov byte [esp + 0x168], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4427e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x4c6990
lea ecx, [esp + 0x94]
push 0x4ed0d0
push ecx
call fcn.0040c9c0
add esp, 0xc
mov edi, eax
mov esi, dword [esp + 0x1c]
test esi, esi
mov byte [esp + 0x168], 7
je 0x44282c
mov ecx, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442835
call fcn.00488c34
mov esi, dword [esp + 0x1c]
lea edx, [ebx + esi + 0xc]
push edx
lea eax, [esp + 0xf4]
push edi
push eax
call fcn.0040c900
add esp, 0xc
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x16c], 8
call fcn.004047c0
mov eax, dword [esp + 0xf0]
add eax, 0xfffffff0
mov byte [esp + 0x168], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442888
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x90]
jmp 0x442a7b
test ecx, ecx
je 0x4428b3
mov edi, esi
sub edi, ecx
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x4428c0
call fcn.00488c34
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp dword [ebx + ecx + 0x10], 2
jne 0x442be7
test ecx, ecx
je 0x4428e8
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x4428f1
call fcn.00488c34
mov ecx, dword [esp + 0x1c]
lea eax, [ebx + ecx + 8]
push eax
lea ecx, [esp + 0x5c]
call fcn.004047c0
push 0x4c3c24
lea ecx, [esp + 0x9c]
push 0x4ed0cc
push ecx
call fcn.0040c9c0
add esp, 0xc
mov edi, eax
mov esi, dword [esp + 0x1c]
test esi, esi
mov byte [esp + 0x168], 9
je 0x442948
mov ecx, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442951
call fcn.00488c34
mov esi, dword [esp + 0x1c]
lea edx, [ebx + esi + 0xc]
push edx
lea eax, [esp + 0x140]
push edi
push eax
call fcn.0040c900
add esp, 0xc
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x16c], 0xa
call fcn.004047c0
mov eax, dword [esp + 0x13c]
add eax, 0xfffffff0
mov byte [esp + 0x168], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4429a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x98]
add eax, 0xfffffff0
mov byte [esp + 0x168], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4429cf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x4c3c24
lea ecx, [esp + 0xa4]
push 0x4ed0d0
push ecx
call fcn.0040c9c0
add esp, 0xc
mov edi, eax
mov esi, dword [esp + 0x1c]
test esi, esi
mov byte [esp + 0x168], 0xb
je 0x442a18
mov ecx, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442a21
call fcn.00488c34
mov esi, dword [esp + 0x1c]
lea edx, [ebx + esi + 0xc]
push edx
lea eax, [esp + 0xfc]
push edi
push eax
call fcn.0040c900
add esp, 0xc
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x16c], 0xc
call fcn.004047c0
mov eax, dword [esp + 0xf8]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442a74
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xa0]
add eax, 0xfffffff0
mov byte [esp + 0x168], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442a9f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x38]
call fcn.00441770
lea ecx, [esp + 0x44]
call fcn.00433610
mov eax, dword [esp + 0x3c]
mov edx, dword [eax]
push eax
lea ecx, [esp + 0x3c]
push ecx
push edx
mov esi, ecx
push esi
lea edx, [esp + 0x164]
push edx
mov byte [esp + 0x17c], 2
call fcn.00426e10
mov eax, dword [esp + 0x3c]
push eax
call fcn.00458aee
xor eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x70]
add eax, 1
add esp, 4
cmp eax, dword [esp + 0x11c]
mov dword [esp + 0x6c], eax
jb 0x442237
mov esi, dword [esp + 0x74]
xor ebx, ebx
cmp esi, ebx
mov byte [esp + 0x168], 1
je 0x442b58
mov eax, dword [esp + 0x78]
cmp esi, eax
mov edi, eax
je 0x442b4f
mov eax, dword [esi]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442b44
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 4
cmp esi, edi
jne 0x442b26
mov esi, dword [esp + 0x74]
push esi
call fcn.00458aee
add esp, 4
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, dword [esp + 0x124]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x28], eax
jb 0x442186
mov esi, dword [esp + 0x1c]
xor ebx, ebx
cmp esi, ebx
je 0x442bab
mov edi, dword [esp + 0x20]
cmp esi, edi
je 0x442ba2
mov edi, edi
mov ecx, esi
call fcn.00433760
add esi, 0x1c
cmp esi, edi
jne 0x442b90
mov esi, dword [esp + 0x1c]
push esi
call fcn.00458aee
add esp, 4
lea ecx, [esp + 0x12c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x168], 0xffffffff
call fcn.00403f90
mov al, 1
mov ecx, dword [esp + 0x160]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x442c04
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442c0d
call fcn.00488c34
mov ecx, dword [esp + 0x1c]
lea eax, [ebx + ecx + 8]
push eax
lea ecx, [esp + 0x5c]
call fcn.004047c0
push 0x4ed0cc
lea ecx, [esp + 0x50]
call fcn.004047c0
push 0x4ed0d0
lea ecx, [esp + 0x54]
call fcn.004047c0
jmp 0x442a9f
test ecx, ecx
je 0x442c5b
mov edi, esi
sub edi, ecx
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442c68
call fcn.00488c34
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov ebx, 1
cmp dword [edx + ecx + 0x14], ebx
jne 0x44325b
test ecx, ecx
je 0x442c9a
mov edi, esi
sub edi, ecx
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442ca7
call fcn.00488c34
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
cmp dword [eax + ecx + 0x10], ebx
jne 0x44301e
test ecx, ecx
mov byte [esp + 0x60], bl
je 0x442cd6
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442cdf
call fcn.00488c34
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
lea eax, [ebx + ecx + 8]
push eax
lea ecx, [esp + 0x5c]
call fcn.004047c0
mov ecx, dword [esp + 0x34]
movzx edx, word [ecx + 0x1e8]
push edx
lea eax, [esp + 0x150]
push eax
call fcn.00434fd0
mov esi, eax
push str.LIB_
lea ecx, [esp + 0xbc]
push 0x4ed0cc
push ecx
mov byte [esp + 0x17c], 0xd
call fcn.0040c9c0
push esi
push eax
lea edx, [esp + 0x11c]
push edx
mov byte [esp + 0x188], 0xe
call fcn.0040c900
push 0x4c3c24
push eax
lea eax, [esp + 0xd0]
push eax
mov byte [esp + 0x194], 0xf
call fcn.0040c9c0
add esp, 0x2c
mov edi, eax
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov byte [esp + 0x168], 0x10
je 0x442d8f
mov esi, dword [esp + 0x20]
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442d98
call fcn.00488c34
mov ecx, dword [esp + 0x1c]
lea ecx, [ebx + ecx + 0xc]
push ecx
lea edx, [esp + 0x12c]
push edi
push edx
call fcn.0040c900
add esp, 0xc
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x16c], 0x11
call fcn.004047c0
mov eax, dword [esp + 0x128]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442deb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xa8]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0xf
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442e16
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x100]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442e41
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xb0]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0xd
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442e6c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14c]
add eax, 0xfffffff0
mov byte [esp + 0x168], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442e97
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x34]
movzx edx, word [ecx + 0x1e8]
push edx
lea eax, [esp + 0xcc]
push eax
call fcn.00434fd0
mov esi, eax
push str.LIB_
lea ecx, [esp + 0x13c]
push 0x4ed0d0
push ecx
mov byte [esp + 0x17c], 0x12
call fcn.0040c9c0
push esi
push eax
lea edx, [esp + 0xdc]
push edx
mov byte [esp + 0x188], 0x13
call fcn.0040c900
push 0x4c6990
push eax
lea eax, [esp + 0x130]
push eax
mov byte [esp + 0x194], 0x14
call fcn.0040c9c0
add esp, 0x2c
mov edi, eax
mov esi, dword [esp + 0x1c]
test esi, esi
mov byte [esp + 0x168], 0x15
je 0x442f35
mov ecx, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x442f3e
call fcn.00488c34
mov esi, dword [esp + 0x1c]
lea ecx, [ebx + esi + 0xc]
push ecx
lea edx, [esp + 0xbc]
push edi
push edx
call fcn.0040c900
add esp, 0xc
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x16c], 0x16
call fcn.004047c0
mov eax, dword [esp + 0xb8]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442f91
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x108]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442fbc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xc0]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x13
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442fe7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x130]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x12
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443012
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xc8]
jmp 0x443233
test ecx, ecx
je 0x44303d
mov edi, esi
sub edi, ecx
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x44304a
call fcn.00488c34
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
cmp dword [edi + ecx + 0x10], 2
je 0x442a9f
test ecx, ecx
je 0x443076
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x44307f
call fcn.00488c34
mov ecx, dword [esp + 0x1c]
lea eax, [edi + ecx + 8]
push eax
lea ecx, [esp + 0x5c]
call fcn.004047c0
mov edi, dword [esp + 0x34]
movzx ecx, word [edi + 0x1e8]
push ecx
lea edx, [esp + 0x138]
push edx
call fcn.00434fd0
mov esi, eax
push str.LIB_
lea eax, [esp + 0xdc]
push 0x4ed0cc
push eax
mov byte [esp + 0x17c], 0x17
call fcn.0040c9c0
push esi
push eax
lea ecx, [esp + 0x12c]
push ecx
mov byte [esp + 0x188], 0x18
call fcn.0040c900
add esp, 0x20
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x16c], 0x19
call fcn.004047c0
mov eax, dword [esp + 0x110]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x18
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x44311e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xd0]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x17
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443149
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x134]
add eax, 0xfffffff0
mov byte [esp + 0x168], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443174
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
movzx ecx, word [edi + 0x1e8]
push ecx
lea edx, [esp + 0xe4]
push edx
call fcn.00434fd0
mov esi, eax
push str.LIB_
lea eax, [esp + 0x8c]
push 0x4ed0d0
push eax
mov byte [esp + 0x17c], 0x1a
call fcn.0040c9c0
push esi
push eax
lea ecx, [esp + 0xf4]
push ecx
mov byte [esp + 0x188], 0x1b
call fcn.0040c900
add esp, 0x20
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x16c], 0x1c
call fcn.004047c0
mov eax, dword [esp + 0xd8]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x1b
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x443201
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x80]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x1a
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44322c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xe0]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0x168], 4
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442a9f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
jmp 0x442a9a
test ecx, ecx
je 0x44327a
mov edi, esi
sub edi, ecx
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x443287
call fcn.00488c34
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
cmp dword [edx + ecx + 0x14], 2
jne 0x442aad
mov dword [esp + 0x30], 0
mov edi, edi
mov ebx, dword [esp + 0x34]
mov edx, dword [ebx + 0x1f0]
test edx, edx
je 0x442aad
mov eax, dword [ebx + 0x1f4]
sub eax, edx
sar eax, 1
cmp dword [esp + 0x30], eax
jae 0x442aad
test ecx, ecx
je 0x4432e5
mov edi, esi
sub edi, ecx
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x4432f2
call fcn.00488c34
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
cmp dword [edi + ecx + 0x10], 1
jne 0x4437c2
mov ecx, dword [ebx + 0x1f0]
test ecx, ecx
mov byte [esp + 0x60], 1
je 0x443320
mov eax, dword [ebx + 0x1f4]
sub eax, ecx
sar eax, 1
cmp dword [esp + 0x30], eax
jb 0x443325
call fcn.00488c34
mov ebp, dword [esp + 0x30]
mov eax, dword [ebx + 0x1f0]
add ebp, ebp
add eax, ebp
movzx eax, word [eax]
push eax
lea ecx, [esp + 0x124]
push ecx
call fcn.00434fd0
add esp, 8
mov edi, eax
mov esi, dword [esp + 0x1c]
test esi, esi
mov byte [esp + 0x168], 0x1d
je 0x443378
mov ecx, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x28], eax
jb 0x443381
call fcn.00488c34
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
push 0x4c3c24
lea eax, [edx + esi + 8]
push eax
lea ecx, [esp + 0xf0]
push ecx
call fcn.0040c9c0
push edi
push eax
lea edx, [esp + 0x14c]
push edx
mov byte [esp + 0x180], 0x1e
call fcn.0040c900
add esp, 0x18
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x16c], 0x1f
call fcn.004047c0
mov eax, dword [esp + 0x138]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x1e
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4433f3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xe8]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x1d
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44341e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x120]
add eax, 0xfffffff0
mov byte [esp + 0x168], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443449
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebx + 0x1f0]
test ecx, ecx
je 0x443463
mov eax, dword [ebx + 0x1f4]
sub eax, ecx
sar eax, 1
cmp dword [esp + 0x30], eax
jb 0x443468
call fcn.00488c34
mov eax, dword [ebx + 0x1f0]
movzx ecx, word [eax + ebp]
add eax, ebp
push ecx
lea edx, [esp + 0xa8]
push edx
call fcn.00434fd0
mov esi, eax
push str.LIB_
lea eax, [esp + 0xa8]
push 0x4ed0cc
push eax
mov byte [esp + 0x17c], 0x20
call fcn.0040c9c0
push esi
push eax
lea ecx, [esp + 0xb0]
push ecx
mov byte [esp + 0x188], 0x21
call fcn.0040c900
push 0x4c3c24
push eax
lea edx, [esp + 0xb4]
push edx
mov byte [esp + 0x194], 0x22
call fcn.0040c9c0
add esp, 0x2c
mov edi, eax
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov byte [esp + 0x168], 0x23
je 0x443509
mov esi, dword [esp + 0x20]
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x28], eax
jb 0x443512
call fcn.00488c34
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
lea ecx, [eax + ecx + 0xc]
push ecx
lea edx, [esp + 0x88]
push edi
push edx
call fcn.0040c900
add esp, 0xc
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x16c], 0x24
call fcn.004047c0
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x23
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443569
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x8c]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x22
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443594
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x94]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x21
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4435bf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x9c]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x20
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4435ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xa4]
add eax, 0xfffffff0
mov byte [esp + 0x168], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443615
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebx + 0x1f0]
test ecx, ecx
je 0x44362f
mov eax, dword [ebx + 0x1f4]
sub eax, ecx
sar eax, 1
cmp dword [esp + 0x30], eax
jb 0x443634
call fcn.00488c34
mov eax, dword [ebx + 0x1f0]
movzx ecx, word [eax + ebp]
add eax, ebp
push ecx
lea edx, [esp + 0xd0]
push edx
call fcn.00434fd0
mov esi, eax
push str.LIB_
lea eax, [esp + 0xd0]
push 0x4ed0d0
push eax
mov byte [esp + 0x17c], 0x25
call fcn.0040c9c0
push esi
push eax
lea ecx, [esp + 0xd8]
push ecx
mov byte [esp + 0x188], 0x26
call fcn.0040c900
push 0x4c6990
push eax
lea edx, [esp + 0xdc]
push edx
mov byte [esp + 0x194], 0x27
call fcn.0040c9c0
add esp, 0x2c
mov edi, eax
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov byte [esp + 0x168], 0x28
je 0x4436d5
mov esi, dword [esp + 0x20]
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x28], eax
jb 0x4436de
call fcn.00488c34
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
lea ecx, [eax + ecx + 0xc]
push ecx
lea edx, [esp + 0xb0]
push edi
push edx
call fcn.0040c900
add esp, 0xc
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x16c], 0x29
call fcn.004047c0
mov eax, dword [esp + 0xac]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x28
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443735
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xb4]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x27
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443760
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xbc]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x26
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44378b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xc4]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x25
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4437b6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xcc]
jmp 0x443b23
test ecx, ecx
je 0x4437df
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x4437e8
call fcn.00488c34
mov ecx, dword [esp + 0x1c]
cmp dword [edi + ecx + 0x10], 2
je 0x443b47
mov eax, ebx
mov ecx, dword [eax + 0x1f0]
test ecx, ecx
je 0x44380f
mov eax, dword [eax + 0x1f4]
sub eax, ecx
sar eax, 1
cmp dword [esp + 0x30], eax
jb 0x443814
call fcn.00488c34
mov ebp, dword [esp + 0x30]
mov eax, dword [ebx + 0x1f0]
add ebp, ebp
movzx ecx, word [eax + ebp]
add eax, ebp
push ecx
lea edx, [esp + 0xe8]
push edx
call fcn.00434fd0
add esp, 8
mov edi, eax
mov esi, dword [esp + 0x1c]
test esi, esi
mov byte [esp + 0x168], 0x2a
je 0x443868
mov ecx, dword [esp + 0x20]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x28], eax
jb 0x443871
call fcn.00488c34
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
push 0x4c3c24
lea ecx, [eax + esi + 8]
push ecx
lea edx, [esp + 0xe4]
push edx
call fcn.0040c9c0
push edi
push eax
lea eax, [esp + 0xe8]
push eax
mov byte [esp + 0x180], 0x2b
call fcn.0040c900
add esp, 0x18
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x16c], 0x2c
call fcn.004047c0
mov eax, dword [esp + 0xd4]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x2b
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4438e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xdc]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x2a
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44390e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xe4]
add eax, 0xfffffff0
mov byte [esp + 0x168], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443939
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebx + 0x1f0]
test ecx, ecx
je 0x443953
mov eax, dword [ebx + 0x1f4]
sub eax, ecx
sar eax, 1
cmp dword [esp + 0x30], eax
jb 0x443958
call fcn.00488c34
mov eax, dword [ebx + 0x1f0]
movzx ecx, word [eax + ebp]
add eax, ebp
push ecx
lea edx, [esp + 0x100]
push edx
call fcn.00434fd0
mov esi, eax
push str.LIB_
lea eax, [esp + 0x100]
push 0x4ed0cc
push eax
mov byte [esp + 0x17c], 0x2d
call fcn.0040c9c0
push esi
push eax
lea ecx, [esp + 0x108]
push ecx
mov byte [esp + 0x188], 0x2e
call fcn.0040c900
add esp, 0x20
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x16c], 0x2f
call fcn.004047c0
mov eax, dword [esp + 0xec]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x2e
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4439ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xf4]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x2d
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443a15
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xfc]
add eax, 0xfffffff0
mov byte [esp + 0x168], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443a40
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebx + 0x1f0]
test ecx, ecx
je 0x443a5a
mov eax, dword [ebx + 0x1f4]
sub eax, ecx
sar eax, 1
cmp dword [esp + 0x30], eax
jb 0x443a5f
call fcn.00488c34
mov eax, dword [ebx + 0x1f0]
movzx ecx, word [eax + ebp]
add eax, ebp
push ecx
lea edx, [esp + 0x118]
push edx
call fcn.00434fd0
mov esi, eax
push str.LIB_
lea eax, [esp + 0x118]
push 0x4ed0d0
push eax
mov byte [esp + 0x17c], 0x30
call fcn.0040c9c0
push esi
push eax
lea ecx, [esp + 0x120]
push ecx
mov byte [esp + 0x188], 0x31
call fcn.0040c900
add esp, 0x20
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x16c], 0x32
call fcn.004047c0
mov eax, dword [esp + 0x104]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x31
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x443af1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10c]
add eax, 0xfffffff0
mov byte [esp + 0x168], 0x30
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443b1c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x114]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0x168], 4
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443b47
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x38]
call fcn.00441770
add dword [esp + 0x30], 1
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x28]
jmp 0x4432a0