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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50725b
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push esi
push edi
mov eax, dword [0x551644]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
fld qword [0x5183f0]
xor esi, esi
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x42c381
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ebp + 0xc]
movzx edx, word [edx + eax]
mov dword [ecx + 4], edx
mov esi, 2
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x10]
add edx, esi
mov edx, dword [edx + eax]
mov dword [ebx + 8], edx
mov edx, dword [ecx]
add esi, 4
add edx, esi
mov edx, dword [edx + eax]
mov dword [ebx + 0xc], edx
mov ecx, dword [ecx]
add esi, 4
add ecx, esi
movzx edx, byte [ecx + eax]
push edx
lea ecx, [ebx + 0x10]
call fcn.00406ea0
inc esi
xor edi, edi
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x42c3c2
mov eax, dword [eax + 0x10]
cmp edi, eax
jge 0x42c3fc
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x42c3d1
xor eax, eax
jmp 0x42c3e9
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x42c3dd
mov ecx, dword [eax + 0xc]
jmp 0x42c3df
xor ecx, ecx
mov eax, dword [ebx + 0x14]
add eax, edi
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0xc]
add edx, esi
mov dl, byte [edx + ecx]
inc esi
mov byte [eax], dl
inc edi
jmp 0x42c3b8
fld qword [0x518048]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x42c429
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
push 0
lea eax, [esi + ebx]
push eax
lea ecx, [edi + 0x1c]
push ecx
push edx
mov ecx, edi
call fcn.0040dda0
jmp 0x42c444
mov eax, dword [ebp + 0xc]
lea ecx, [esi + eax]
mov eax, dword [ebp + 8]
push ecx
mov ecx, ebx
lea edx, [ecx + 0x1c]
push edx
push eax
call fcn.0040ba80
mov edi, ebx
mov ebx, dword [ebp + 0xc]
fld qword [0x518048]
add esi, eax
fcomp qword [ebp + 0x10]
lea ecx, [esi + ebx]
lea edx, [edi + 0x20]
fnstsw ax
test ah, 0x41
mov eax, dword [ebp + 8]
jne 0x42c46d
push 0
push ecx
push edx
push eax
mov ecx, edi
call fcn.0040dda0
jmp 0x42c477
push ecx
push edx
push eax
mov ecx, edi
call fcn.0040ba80
fld qword [0x518048]
add esi, eax
fcomp qword [ebp + 0x10]
lea ecx, [esi + ebx]
lea edx, [edi + 0x24]
fnstsw ax
test ah, 0x41
mov eax, dword [ebp + 8]
jne 0x42c4a0
push 0
push ecx
push edx
push eax
mov ecx, edi
call fcn.0040dda0
jmp 0x42c4aa
push ecx
push edx
push eax
mov ecx, edi
call fcn.0040ba80
fld qword [ebp + 0x10]
add esi, eax
fld qword [0x5183e8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x42c4d5
mov eax, dword [ebp + 8]
push 0
lea ecx, [esi + ebx]
push ecx
lea edx, [edi + 0x28]
push edx
push eax
mov ecx, edi
call fcn.0040dda0
add esi, eax
mov ecx, dword [ebp + 8]
fld qword [0x518048]
mov edx, dword [ecx]
fcomp qword [ebp + 0x10]
add edx, esi
mov al, byte [edx + ebx]
mov byte [edi + 0x2c], al
fnstsw ax
inc esi
lea ecx, [esi + ebx]
test ah, 0x41
mov eax, dword [ebp + 8]
lea edx, [edi + 0x30]
jne 0x42c50a
push 0
push ecx
push edx
push eax
mov ecx, edi
call fcn.0040dda0
jmp 0x42c514
push ecx
push edx
push eax
mov ecx, edi
call fcn.0040ba80
fld qword [0x518048]
add esi, eax
fcomp qword [ebp + 0x10]
lea ecx, [esi + ebx]
lea edx, [edi + 0x34]
fnstsw ax
test ah, 0x41
mov eax, dword [ebp + 8]
jne 0x42c53d
push 0
push ecx
push edx
push eax
mov ecx, edi
call fcn.0040dda0
jmp 0x42c547
push ecx
push edx
push eax
mov ecx, edi
call fcn.0040ba80
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
add esi, eax
add edx, esi
movzx eax, byte [edx + ebx]
inc esi
test eax, eax
je 0x42c68e
push eax
lea ecx, [edi + 0x38]
call fcn.004070f0
mov dword [ebp - 0x14], 0
lea ecx, [ecx]
mov eax, dword [edi + 0x40]
test eax, eax
je 0x42c57a
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x14], eax
jge 0x42c68e
fld qword [0x518048]
mov edx, dword [edi + 0x38]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x42c614
test edx, edx
jne 0x42c59e
xor eax, eax
jmp 0x42c5b7
mov eax, dword [edi + 0x40]
test eax, eax
je 0x42c5aa
mov ecx, dword [eax + 0xc]
jmp 0x42c5ac
xor ecx, ecx
mov eax, dword [edi + 0x3c]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
push 0
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.0040dda0
mov ecx, dword [edi + 0x38]
add esi, eax
test ecx, ecx
jne 0x42c5d9
xor eax, eax
jmp 0x42c5f2
mov eax, dword [edi + 0x40]
test eax, eax
je 0x42c5e5
mov edx, dword [eax + 0xc]
jmp 0x42c5e7
xor edx, edx
mov eax, dword [edi + 0x3c]
add eax, dword [ebp - 0x14]
imul eax, edx
add eax, ecx
mov ecx, dword [ebp + 0xc]
push 0
lea edx, [esi + ecx]
push edx
add eax, 4
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.0040dda0
add esi, eax
inc dword [ebp - 0x14]
jmp 0x42c570
test edx, edx
jne 0x42c61c
xor eax, eax
jmp 0x42c635
mov eax, dword [edi + 0x40]
test eax, eax
je 0x42c628
mov ecx, dword [eax + 0xc]
jmp 0x42c62a
xor ecx, ecx
mov eax, dword [edi + 0x3c]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.0040ba80
mov ecx, dword [edi + 0x38]
add esi, eax
test ecx, ecx
jne 0x42c655
xor eax, eax
jmp 0x42c66e
mov eax, dword [edi + 0x40]
test eax, eax
je 0x42c661
mov edx, dword [eax + 0xc]
jmp 0x42c663
xor edx, edx
mov eax, dword [edi + 0x3c]
add eax, dword [ebp - 0x14]
imul eax, edx
add eax, ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esi + ecx]
push edx
add eax, 4
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.0040ba80
add esi, eax
inc dword [ebp - 0x14]
jmp 0x42c570
mov edx, dword [ebp + 8]
fld qword [0x5183e0]
mov eax, dword [edx]
fld qword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
fcom st(1)
add eax, esi
mov eax, dword [eax + ecx]
mov dword [edi + 0x44], eax
mov eax, dword [edx]
add esi, 4
add eax, esi
mov eax, dword [eax + ecx]
mov dword [edi + 0x48], eax
mov eax, dword [edx]
add esi, 4
add eax, esi
mov eax, dword [eax + ecx]
mov dword [edi + 0x4c], eax
fnstsw ax
xor ebx, ebx
add esi, 4
mov dword [edi + 0x50], ebx
test ah, 1
jne 0x42c6df
mov eax, dword [edx]
add eax, esi
mov eax, dword [eax + ecx]
mov dword [edi + 0x50], eax
add esi, 4
fld qword [0x5183d8]
mov dword [edi + 0x54], ebx
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x42c6fd
mov edx, dword [edx]
add edx, esi
movzx eax, byte [edx + ecx]
mov dword [edi + 0x54], eax
inc esi
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x42d00b
fcomp qword [0x518048]
fnstsw ax
test ah, 5
jp 0x42c72e
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
add edx, esi
mov al, byte [edx + edi]
mov byte [ecx], al
inc esi
jmp 0x42c730
mov edi, ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add eax, esi
movzx eax, byte [eax + edi]
inc esi
test eax, eax
je 0x42caeb
mov ebx, dword [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.004071d0
mov dword [ebp - 0x14], 0
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x42c761
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x14], eax
jge 0x42caeb
mov edx, dword [ebx + 0x58]
test edx, edx
jne 0x42c775
xor eax, eax
jmp 0x42c78e
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x42c781
mov ecx, dword [eax + 0xc]
jmp 0x42c783
xor ecx, ecx
mov eax, dword [ebx + 0x5c]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 8]
fld qword [0x518048]
mov edx, dword [ecx]
fcomp qword [ebp + 0x10]
add edx, esi
mov cl, byte [edx + edi]
mov byte [eax], cl
mov edx, dword [ebx + 0x58]
fnstsw ax
inc esi
test ah, 0x41
jne 0x42c7e6
test edx, edx
jne 0x42c7b6
xor eax, eax
jmp 0x42c7cf
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x42c7c2
mov ecx, dword [eax + 0xc]
jmp 0x42c7c4
xor ecx, ecx
mov eax, dword [ebx + 0x5c]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
push 1
lea edx, [esi + edi]
push edx
add eax, 4
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, ebx
call fcn.0040dda0
jmp 0x42c81a
test edx, edx
jne 0x42c7ee
xor eax, eax
jmp 0x42c807
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x42c7fa
mov ecx, dword [eax + 0xc]
jmp 0x42c7fc
xor ecx, ecx
mov eax, dword [ebx + 0x5c]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov edx, dword [ebp + 8]
lea ecx, [esi + edi]
push ecx
add eax, 4
push eax
push edx
mov ecx, ebx
call fcn.0040ba80
mov edx, dword [ebp + 0xc]
add esi, eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
add ecx, esi
movzx edi, byte [ecx + edx]
inc esi
test edi, edi
je 0x42c980
mov edx, dword [ebx + 0x58]
test edx, edx
jne 0x42c83e
xor eax, eax
jmp 0x42c857
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x42c84a
mov ecx, dword [eax + 0xc]
jmp 0x42c84c
xor ecx, ecx
mov eax, dword [ebx + 0x5c]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
push edi
lea ecx, [eax + 8]
call fcn.00407010
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
lea ebx, [ebx]
mov edx, dword [ebx + 0x58]
test edx, edx
jne 0x42c87b
xor eax, eax
jmp 0x42c893
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x42c887
mov ecx, dword [eax + 0xc]
jmp 0x42c889
xor ecx, ecx
mov eax, dword [ebx + 0x5c]
add eax, edi
imul eax, ecx
add eax, edx
mov eax, dword [eax + 0x10]
test eax, eax
je 0x42c89d
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x18], eax
jge 0x42c980
fld qword [0x518048]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x42c91c
test edx, edx
jne 0x42c8be
xor eax, eax
jmp 0x42c8d6
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x42c8ca
mov ecx, dword [eax + 0xc]
jmp 0x42c8cc
xor ecx, ecx
mov eax, dword [ebx + 0x5c]
add eax, edi
imul eax, ecx
add eax, edx
mov edx, dword [eax + 8]
test edx, edx
jne 0x42c8e1
xor eax, eax
jmp 0x42c8fd
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x42c8ed
mov ecx, dword [ecx + 0xc]
jmp 0x42c8ef
xor ecx, ecx
mov eax, dword [eax + 0xc]
add eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
push 1
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, ebx
call fcn.0040dda0
add esi, eax
inc dword [ebp - 0x18]
jmp 0x42c870
test edx, edx
jne 0x42c924
xor eax, eax
jmp 0x42c93c
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x42c930
mov ecx, dword [eax + 0xc]
jmp 0x42c932
xor ecx, ecx
mov eax, dword [ebx + 0x5c]
add eax, edi
imul eax, ecx
add eax, edx
mov edx, dword [eax + 8]
test edx, edx
jne 0x42c947
xor eax, eax
jmp 0x42c963
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x42c953
mov ecx, dword [ecx + 0xc]
jmp 0x42c955
xor ecx, ecx
mov eax, dword [eax + 0xc]
add eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, ebx
call fcn.0040ba80
add esi, eax
inc dword [ebp - 0x18]
jmp 0x42c870
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
add edx, esi
movzx edi, byte [edx + eax]
inc esi
test edi, edi
je 0x42cae0
mov edx, dword [ebx + 0x58]
test edx, edx
jne 0x42c9a2
xor eax, eax
jmp 0x42c9bb
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x42c9ae
mov ecx, dword [eax + 0xc]
jmp 0x42c9b0
xor ecx, ecx
mov eax, dword [ebx + 0x5c]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
push edi
lea ecx, [eax + 0x14]
call fcn.00407010
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
mov edi, edi
mov edx, dword [ebx + 0x58]
test edx, edx
jne 0x42c9db
xor eax, eax
jmp 0x42c9f3
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x42c9e7
mov ecx, dword [eax + 0xc]
jmp 0x42c9e9
xor ecx, ecx
mov eax, dword [ebx + 0x5c]
add eax, edi
imul eax, ecx
add eax, edx
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x42c9fd
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x18], eax
jge 0x42cae0
fld qword [0x518048]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x42ca7c
test edx, edx
jne 0x42ca1e
xor eax, eax
jmp 0x42ca36
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x42ca2a
mov ecx, dword [eax + 0xc]
jmp 0x42ca2c
xor ecx, ecx
mov eax, dword [ebx + 0x5c]
add eax, edi
imul eax, ecx
add eax, edx
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x42ca41
xor eax, eax
jmp 0x42ca5d
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x42ca4d
mov ecx, dword [ecx + 0xc]
jmp 0x42ca4f
xor ecx, ecx
mov eax, dword [eax + 0x18]
add eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
push 0
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, ebx
call fcn.0040dda0
add esi, eax
inc dword [ebp - 0x18]
jmp 0x42c9d0
test edx, edx
jne 0x42ca84
xor eax, eax
jmp 0x42ca9c
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x42ca90
mov ecx, dword [eax + 0xc]
jmp 0x42ca92
xor ecx, ecx
mov eax, dword [ebx + 0x5c]
add eax, edi
imul eax, ecx
add eax, edx
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x42caa7
xor eax, eax
jmp 0x42cac3
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x42cab3
mov ecx, dword [ecx + 0xc]
jmp 0x42cab5
xor ecx, ecx
mov eax, dword [eax + 0x18]
add eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, ebx
call fcn.0040ba80
add esi, eax
inc dword [ebp - 0x18]
jmp 0x42c9d0
inc dword [ebp - 0x14]
mov edi, dword [ebp + 0xc]
jmp 0x42c757
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
add edx, esi
movzx eax, byte [edx + edi]
inc esi
test eax, eax
je 0x42cc89
mov ebx, dword [ebp - 0x10]
push eax
lea ecx, [ebx + 0x64]
call fcn.004072f0
mov dword [ebp - 0x14], 0
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x42cb1c
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x14], eax
jge 0x42cc89
fld qword [0x518048]
mov edx, dword [ebx + 0x64]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x42cb6d
test edx, edx
jne 0x42cb40
xor eax, eax
jmp 0x42cb59
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x42cb4c
mov ecx, dword [eax + 0xc]
jmp 0x42cb4e
xor ecx, ecx
mov eax, dword [ebx + 0x68]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov edx, dword [ebp + 8]
push 1
lea ecx, [esi + edi]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.0040dda0
jmp 0x42cb9e
test edx, edx
jne 0x42cb75
xor eax, eax
jmp 0x42cb8e
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x42cb81
mov ecx, dword [eax + 0xc]
jmp 0x42cb83
xor ecx, ecx
mov eax, dword [ebx + 0x68]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov edx, dword [ebp + 8]
lea ecx, [esi + edi]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.0040ba80
mov edx, dword [ebp + 0xc]
add esi, eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
add ecx, esi
movzx edi, byte [ecx + edx]
inc esi
test edi, edi
je 0x42cc7e
mov edx, dword [ebx + 0x64]
test edx, edx
jne 0x42cbc2
xor eax, eax
jmp 0x42cbdb
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x42cbce
mov ecx, dword [eax + 0xc]
jmp 0x42cbd0
xor ecx, ecx
mov eax, dword [ebx + 0x68]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
push edi
lea ecx, [eax + 4]
call fcn.00406f50
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x18], 0
mov edi, edi
mov edx, dword [ebx + 0x64]
test edx, edx
jne 0x42cbfb
xor eax, eax
jmp 0x42cc14
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x42cc07
mov ecx, dword [eax + 0xc]
jmp 0x42cc09
xor ecx, ecx
mov eax, dword [ebx + 0x68]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42cc1e
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x18], eax
jge 0x42cc7e
test edx, edx
jne 0x42cc2b
xor eax, eax
jmp 0x42cc44
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x42cc37
mov ecx, dword [eax + 0xc]
jmp 0x42cc39
xor ecx, ecx
mov eax, dword [ebx + 0x68]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov edx, dword [eax + 4]
test edx, edx
jne 0x42cc4f
xor eax, eax
jmp 0x42cc68
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x42cc5b
mov ecx, dword [ecx + 0xc]
jmp 0x42cc5d
xor ecx, ecx
mov eax, dword [eax + 8]
add eax, dword [ebp - 0x18]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
add edx, esi
movzx ecx, byte [edx + edi]
inc esi
inc dword [ebp - 0x18]
mov dword [eax], ecx
jmp 0x42cbf0
inc dword [ebp - 0x14]
mov edi, dword [ebp + 0xc]
jmp 0x42cb12
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add eax, esi
movzx eax, byte [eax + edi]
inc esi
test eax, eax
je 0x42d00d
mov edi, dword [ebp - 0x10]
push eax
lea ecx, [edi + 0x70]
call fcn.00407410
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov edi, edi
mov eax, dword [edi + 0x78]
test eax, eax
je 0x42ccba
mov eax, dword [eax + 0x10]
cmp ebx, eax
jge 0x42d00d
fld qword [0x518048]
mov edx, dword [edi + 0x70]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x42cd0c
test edx, edx
jne 0x42ccdd
xor eax, eax
jmp 0x42ccf5
mov eax, dword [edi + 0x78]
test eax, eax
je 0x42cce9
mov ecx, dword [eax + 0xc]
jmp 0x42cceb
xor ecx, ecx
mov eax, dword [edi + 0x74]
add eax, ebx
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
push 1
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.0040dda0
jmp 0x42cd3f
test edx, edx
jne 0x42cd14
xor eax, eax
jmp 0x42cd2c
mov eax, dword [edi + 0x78]
test eax, eax
je 0x42cd20
mov ecx, dword [eax + 0xc]
jmp 0x42cd22
xor ecx, ecx
mov eax, dword [edi + 0x74]
add eax, ebx
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.0040ba80
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
add esi, eax
mov eax, dword [ebp + 0xc]
add edx, esi
movzx ebx, byte [edx + eax]
inc esi
test ebx, ebx
je 0x42ce9d
mov edx, dword [edi + 0x70]
test edx, edx
jne 0x42cd63
xor eax, eax
jmp 0x42cd7c
mov eax, dword [edi + 0x78]
test eax, eax
je 0x42cd6f
mov ecx, dword [eax + 0xc]
jmp 0x42cd71
xor ecx, ecx
mov eax, dword [edi + 0x74]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
push ebx
lea ecx, [eax + 4]
call fcn.00407010
mov dword [ebp - 0x18], 0
lea esp, [esp]
mov edx, dword [edi + 0x70]
test edx, edx
jne 0x42cd9b
xor eax, eax
jmp 0x42cdb4
mov eax, dword [edi + 0x78]
test eax, eax
je 0x42cda7
mov ecx, dword [eax + 0xc]
jmp 0x42cda9
xor ecx, ecx
mov eax, dword [edi + 0x74]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42cdbe
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x18], eax
jge 0x42ce9d
fld qword [0x518048]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x42ce3b
test edx, edx
jne 0x42cddf
xor eax, eax
jmp 0x42cdf8
mov eax, dword [edi + 0x78]
test eax, eax
je 0x42cdeb
mov ecx, dword [eax + 0xc]
jmp 0x42cded
xor ecx, ecx
mov eax, dword [edi + 0x74]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov edx, dword [eax + 4]
test edx, edx
jne 0x42ce03
xor eax, eax
jmp 0x42ce1c
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x42ce0f
mov ecx, dword [ecx + 0xc]
jmp 0x42ce11
xor ecx, ecx
mov eax, dword [eax + 8]
add eax, dword [ebp - 0x18]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
push 1
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.0040dda0
add esi, eax
inc dword [ebp - 0x18]
jmp 0x42cd90
test edx, edx
jne 0x42ce43
xor eax, eax
jmp 0x42ce5c
mov eax, dword [edi + 0x78]
test eax, eax
je 0x42ce4f
mov ecx, dword [eax + 0xc]
jmp 0x42ce51
xor ecx, ecx
mov eax, dword [edi + 0x74]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov edx, dword [eax + 4]
test edx, edx
jne 0x42ce67
xor eax, eax
jmp 0x42ce80
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x42ce73
mov ecx, dword [ecx + 0xc]
jmp 0x42ce75
xor ecx, ecx
mov eax, dword [eax + 8]
add eax, dword [ebp - 0x18]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.0040ba80
add esi, eax
inc dword [ebp - 0x18]
jmp 0x42cd90
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
add edx, esi
movzx ebx, byte [edx + eax]
inc esi
test ebx, ebx
je 0x42d000
mov edx, dword [edi + 0x70]
test edx, edx
jne 0x42cebf
xor eax, eax
jmp 0x42ced8
mov eax, dword [edi + 0x78]
test eax, eax
je 0x42cecb
mov ecx, dword [eax + 0xc]
jmp 0x42cecd
xor ecx, ecx
mov eax, dword [edi + 0x74]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
push ebx
lea ecx, [eax + 0x10]
call fcn.00407010
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
jmp 0x42cef0
mov edx, dword [edi + 0x70]
test edx, edx
jne 0x42cefb
xor eax, eax
jmp 0x42cf13
mov eax, dword [edi + 0x78]
test eax, eax
je 0x42cf07
mov ecx, dword [eax + 0xc]
jmp 0x42cf09
xor ecx, ecx
mov eax, dword [edi + 0x74]
add eax, ebx
imul eax, ecx
add eax, edx
mov eax, dword [eax + 0x18]
test eax, eax
je 0x42cf1d
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x18], eax
jge 0x42d000
fld qword [0x518048]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x42cf9c
test edx, edx
jne 0x42cf3e
xor eax, eax
jmp 0x42cf56
mov eax, dword [edi + 0x78]
test eax, eax
je 0x42cf4a
mov ecx, dword [eax + 0xc]
jmp 0x42cf4c
xor ecx, ecx
mov eax, dword [edi + 0x74]
add eax, ebx
imul eax, ecx
add eax, edx
mov edx, dword [eax + 0x10]
test edx, edx
jne 0x42cf61
xor eax, eax
jmp 0x42cf7d
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x42cf6d
mov ecx, dword [ecx + 0xc]
jmp 0x42cf6f
xor ecx, ecx
mov eax, dword [eax + 0x14]
add eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
push 0
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.0040dda0
add esi, eax
inc dword [ebp - 0x18]
jmp 0x42cef0
test edx, edx
jne 0x42cfa4
xor eax, eax
jmp 0x42cfbc
mov eax, dword [edi + 0x78]
test eax, eax
je 0x42cfb0
mov ecx, dword [eax + 0xc]
jmp 0x42cfb2
xor ecx, ecx
mov eax, dword [edi + 0x74]
add eax, ebx
imul eax, ecx
add eax, edx
mov edx, dword [eax + 0x10]
test edx, edx
jne 0x42cfc7
xor eax, eax
jmp 0x42cfe3
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x42cfd3
mov ecx, dword [ecx + 0xc]
jmp 0x42cfd5
xor ecx, ecx
mov eax, dword [eax + 0x14]
add eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
lea edx, [esi + ecx]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.0040ba80
add esi, eax
inc dword [ebp - 0x18]
jmp 0x42cef0
inc dword [ebp - 0x14]
mov ebx, dword [ebp - 0x14]
jmp 0x42ccb0
fstp st(0)
fld qword [0x5183e0]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x42d086
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx]
mov edi, dword [ebp + 0xc]
add ecx, esi
mov al, byte [ecx + edi]
inc esi
test al, al
je 0x42d045
mov ecx, dword [ebp - 0x10]
lea edx, [esi + edi]
push edx
lea eax, [ecx + 0x88]
push eax
push ebx
call fcn.004225c0
add esi, eax
mov ecx, dword [ebx]
add ecx, esi
mov al, byte [ecx + edi]
inc esi
test al, al
je 0x42d064
mov ecx, dword [ebp - 0x10]
lea edx, [esi + edi]
push edx
lea eax, [ecx + 0x7c]
push eax
push ebx
call fcn.004225c0
add esi, eax
mov ecx, dword [ebx]
add ecx, esi
mov al, byte [ecx + edi]
inc esi
test al, al
je 0x42d086
mov ecx, dword [ebp - 0x10]
lea edx, [esi + edi]
push edx
lea eax, [ecx + 0x94]
push eax
push ebx
call fcn.004225c0
add esi, eax
fld qword [0x5183d0]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x42d14c
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx + 0xa4]
mov ecx, dword [ebx + 0xa0]
cmp ecx, edx
je 0x42d0d3
mov eax, edx
cmp edx, edx
je 0x42d0cd
mov edi, dword [eax]
mov dword [ecx], edi
mov edi, dword [eax + 4]
mov dword [ecx + 4], edi
mov edi, dword [eax + 8]
mov dword [ecx + 8], edi
add eax, 0xc
add ecx, 0xc
cmp eax, edx
jne 0x42d0b3
mov dword [ebx + 0xa4], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
add edx, esi
movzx edi, byte [edx + eax]
add esi, 4
test edi, edi
je 0x42d14c
push edi
lea ecx, [ebx + 0xa0]
call fcn.00411490
test edi, edi
jle 0x42d14c
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov dword [ebp - 0x18], edi
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov edi, dword [ebx + 0xa0]
add edx, esi
mov edx, dword [edx + ecx]
mov dword [eax + edi], edx
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov edi, dword [ebx + 0xa0]
add esi, 4
add edx, esi
mov edx, dword [edx + ecx]
mov dword [eax + edi + 4], edx
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov edi, dword [ebx + 0xa0]
add esi, 4
add edx, esi
mov edx, dword [edx + ecx]
mov dword [eax + edi + 8], edx
add esi, 4
add eax, 0xc
dec dword [ebp - 0x18]
jne 0x42d100
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edi, dword [ebp + 0xc]
add ecx, esi
mov ebx, dword [ecx + edi]
add esi, 4
test ebx, ebx
je 0x42d1b3
mov edi, dword [ebp - 0x10]
push ebx
lea ecx, [edi + 0xb0]
call fcn.00406ea0
mov ecx, dword [edi + 0xb0]
test ecx, ecx
jne 0x42d17d
xor eax, eax
jmp 0x42d199
mov eax, dword [edi + 0xb8]
test eax, eax
je 0x42d18c
mov edx, dword [eax + 0xc]
jmp 0x42d18e
xor edx, edx
mov eax, dword [edi + 0xb4]
imul eax, edx
add eax, ecx
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
add ecx, esi
add ecx, dword [ebp + 0xc]
push ebx
push ecx
push eax
call fcn.004f6300
mov edi, dword [ebp + 0xc]
add esp, 0xc
add esi, ebx
fld qword [0x5183e0]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x42d2e2
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add eax, esi
movzx eax, byte [eax + edi]
inc esi
test eax, eax
je 0x42d2e2
mov ebx, dword [ebp - 0x10]
push eax
lea ecx, [ebx + 0xbc]
call fcn.00407530
mov dword [ebp - 0x14], 0
mov eax, dword [ebx + 0xc4]
test eax, eax
je 0x42d1fe
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x14], eax
jge 0x42d2e2
mov edx, dword [ebx + 0xbc]
test edx, edx
jne 0x42d215
xor eax, eax
jmp 0x42d234
mov eax, dword [ebx + 0xc4]
test eax, eax
je 0x42d224
mov ecx, dword [eax + 0xc]
jmp 0x42d226
xor ecx, ecx
mov eax, dword [ebx + 0xc0]
add eax, dword [ebp - 0x14]
imul eax, ecx
add eax, edx
mov edx, dword [ebp + 8]
lea ecx, [esi + edi]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.0040ba80
mov ecx, dword [ebx + 0xbc]
add esi, eax
test ecx, ecx
jne 0x42d254
xor eax, eax
jmp 0x42d273
mov eax, dword [ebx + 0xc4]
test eax, eax
je 0x42d263
mov edx, dword [eax + 0xc]
jmp 0x42d265
xor edx, edx
mov eax, dword [ebx + 0xc0]
add eax, dword [ebp - 0x14]
imul eax, edx
add eax, ecx
lea ecx, [eax + 4]
call fcn.004153c0
mov ecx, dword [ebx + 0xbc]
test ecx, ecx
jne 0x42d289
xor eax, eax
jmp 0x42d2a8
mov eax, dword [ebx + 0xc4]
test eax, eax
je 0x42d298
mov edx, dword [eax + 0xc]
jmp 0x42d29a
xor edx, edx
mov eax, dword [ebx + 0xc0]
add eax, dword [ebp - 0x14]
imul eax, edx
add eax, ecx
mov edx, dword [eax + 4]
test edx, edx
jne 0x42d2b3
xor eax, eax
jmp 0x42d2c9
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x42d2bf
mov ecx, dword [ecx + 0xc]
jmp 0x42d2c1
xor ecx, ecx
mov eax, dword [eax + 8]
imul eax, ecx
add eax, edx
mov edx, dword [ebp + 8]
lea ecx, [esi + edi]
push ecx
push edx
mov ecx, eax
call fcn.00413b80
add esi, eax
inc dword [ebp - 0x14]
jmp 0x42d1f1
fld qword [0x5183c8]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x42d42b
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ebp + 0xc]
add ecx, esi
mov edi, dword [ecx + edx]
add esi, 4
test edi, edi
je 0x42d36a
mov ecx, dword [ebp - 0x10]
add ecx, 0xc8
push edi
call fcn.00407010
xor ebx, ebx
test edi, edi
jle 0x42d36a
nop
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0xc8]
test edx, edx
jne 0x42d331
xor eax, eax
jmp 0x42d34f
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x42d340
mov ecx, dword [ecx + 0xc]
jmp 0x42d342
xor ecx, ecx
mov eax, dword [eax + 0xcc]
add eax, ebx
imul eax, ecx
add eax, edx
mov ecx, dword [ebp + 0xc]
lea edx, [esi + ecx]
mov ecx, dword [ebp - 0x10]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040ba80
inc ebx
add esi, eax
cmp ebx, edi
jl 0x42d320
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
add edx, esi
mov eax, dword [edx + eax]
add esi, 4
mov dword [ebp - 0x18], eax
test eax, eax
je 0x42d42b
mov ebx, dword [ebp - 0x10]
mov ecx, eax
push ecx
lea ecx, [ebx + 0xd4]
call fcn.00407650
xor edi, edi
cmp dword [ebp - 0x18], edi
jle 0x42d42b
mov edx, dword [ebx + 0xd4]
test edx, edx
jne 0x42d3af
xor eax, eax
jmp 0x42d3cd
mov eax, dword [ebx + 0xdc]
test eax, eax
je 0x42d3be
mov ecx, dword [eax + 0xc]
jmp 0x42d3c0
xor ecx, ecx
mov eax, dword [ebx + 0xd8]
add eax, edi
imul eax, ecx
add eax, edx
mov edx, dword [ebp + 0xc]
lea ecx, [esi + edx]
mov edx, dword [ebp + 8]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.0040ba80
mov ecx, dword [ebx + 0xd4]
add esi, eax
test ecx, ecx
jne 0x42d3f0
xor eax, eax
jmp 0x42d40e
mov eax, dword [ebx + 0xdc]
test eax, eax
je 0x42d3ff
mov edx, dword [eax + 0xc]
jmp 0x42d401
xor edx, edx
mov eax, dword [ebx + 0xd8]
add eax, edi
imul eax, edx
add eax, ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0xc]
add edx, esi
mov edx, dword [edx + ecx]
inc edi
add esi, 4
mov dword [eax + 4], edx
cmp edi, dword [ebp - 0x18]
jl 0x42d3a1
fld qword [0x5183c0]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x42d675
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
lea eax, [esi + ebx]
push eax
lea edx, [ecx + 0xe0]
push edx
push edi
call fcn.0040ba80
add esi, eax
mov eax, dword [edi]
add eax, esi
mov eax, dword [eax + ebx]
add esi, 4
mov dword [ebp - 0x20], eax
test eax, eax
je 0x42d675
mov dword [ebp - 0x14], 0
jle 0x42d675
lea ecx, [ecx]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
add edx, esi
mov edi, dword [edx + eax]
add esi, 4
test edi, edi
je 0x42d665
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 1
cmp edi, eax
jle 0x42d4ee
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebp + 0xc]
lea edx, [esi + ecx]
mov ecx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x18]
push eax
push ecx
mov ecx, ebx
call fcn.0040ba80
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0x58]
add esi, eax
call fcn.00413340
dec edi
jne 0x42d4c7
mov edi, dword [ebp - 0x10]
mov eax, dword [edi + 0xe8]
lea ecx, [ebp - 0x58]
cmp ecx, eax
jae 0x42d57d
mov edx, dword [edi + 0xe4]
cmp edx, ecx
ja 0x42d57d
mov ebx, ecx
mov ecx, dword [edi + 0xec]
sub ebx, edx
cmp eax, ecx
jne 0x42d55d
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x42d72e
sub ecx, edx
inc eax
sar ecx, 4
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jbe 0x42d55d
mov eax, ecx
shr eax, 1
mov edx, 0xfffffff
sub edx, eax
cmp edx, ecx
jae 0x42d546
xor ecx, ecx
jmp 0x42d548
add ecx, eax
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
jae 0x42d551
mov ecx, eax
push ecx
lea ecx, [edi + 0xe4]
call fcn.0042ba00
mov ecx, dword [edi + 0xe8]
and ebx, 0xfffffff0
add ebx, dword [edi + 0xe4]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 2
test ecx, ecx
je 0x42d5eb
push ebx
jmp 0x42d5e6
mov ecx, dword [edi + 0xec]
cmp eax, ecx
jne 0x42d5ce
mov edx, dword [edi + 0xe4]
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x42d72e
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x42d5ce
mov edx, ecx
shr edx, 1
mov ebx, 0xfffffff
sub ebx, edx
cmp ebx, ecx
jae 0x42d5ba
xor ecx, ecx
jmp 0x42d5bc
add ecx, edx
cmp ecx, eax
jae 0x42d5c2
mov ecx, eax
push ecx
lea ecx, [edi + 0xe4]
call fcn.0042ba00
mov ecx, dword [edi + 0xe8]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 3
test ecx, ecx
je 0x42d5eb
lea eax, [ebp - 0x58]
push eax
call fcn.004116b0
add dword [edi + 0xe8], 0x10
mov edi, dword [ebp - 0x58]
mov byte [ebp - 4], 0
test edi, edi
je 0x42d634
cmp edi, dword [ebp - 0x54]
je 0x42d628
mov eax, dword [edi]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d620
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 4
cmp edi, dword [ebp - 0x54]
jne 0x42d602
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.004f476a
add esp, 4
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42d665
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x20]
jl 0x42d480
fld qword [0x5183d0]
fcomp qword [ebp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x42e245
mov edi, dword [ebp - 0x10]
mov eax, dword [edi + 0xf8]
mov ecx, dword [edi + 0xf4]
cmp ecx, eax
je 0x42d6cb
mov edx, dword [ebp + 8]
push edx
push ecx
push eax
push eax
call fcn.004063e0
mov ecx, dword [ebp + 8]
push ecx
mov ebx, eax
mov eax, dword [edi + 0xf8]
lea edx, [edi + 0x100]
push edx
push eax
push ebx
call fcn.00470560
add esp, 0x20
mov dword [edi + 0xf8], ebx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ebp + 0xc]
add ecx, esi
mov eax, dword [ecx + edx]
add esi, 4
mov dword [ebp - 0x20], eax
test eax, eax
je 0x42da33
mov dword [ebp - 0x14], 0
jle 0x42da33
push 0x3c
call fcn.004f4b27
mov ebx, eax
add esp, 4
mov dword [ebp + 0x14], ebx
xor edi, edi
mov dword [ebp - 4], 4
cmp ebx, edi
je 0x42d738
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [ebx], eax
mov dword [ebx + 0x2c], edi
mov dword [ebx + 0x30], edi
mov dword [ebx + 0x34], edi
jmp 0x42d73a
push str.vector_T__too_long
call fcn.004f469d
xor ebx, ebx
push 1
push ebx
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.004058b0
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 4], 5
cmp ecx, edi
jne 0x42d761
xor ebx, ebx
jmp 0x42d774
cmp eax, edi
je 0x42d76a
mov eax, dword [eax + 0xc]
jmp 0x42d76c
xor eax, eax
mov ebx, dword [ebp - 0x44]
imul ebx, eax
add ebx, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
lea edi, [esi + eax]
cmp dword [edi + edx], 0
jne 0x42dbf9
push 0
push 0x517abc
mov ecx, ebx
call fcn.004048b0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
add edi, 4
push edi
push ebx
push eax
call fcn.0040ba80
mov edx, dword [0x5515b0]
add eax, 4
add esi, eax
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [ebp + 0x14], eax
mov edi, dword [ebp - 0x48]
mov byte [ebp - 4], 6
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
lea ebx, [esi + ecx]
cmp dword [ebx + eax], 0
jne 0x42dc0e
push 0
push 0x517abc
lea ecx, [ebp + 0x14]
call fcn.004048b0
mov edx, dword [ebp + 8]
add ebx, 4
push ebx
lea ecx, [ebp + 0x14]
push ecx
mov ecx, dword [ebp - 0x10]
push edx
call fcn.0040ba80
add eax, 4
add esi, eax
mov eax, dword [ebp + 0x14]
push 0x517abc
push eax
call fcn.004f5934
add esp, 8
test eax, eax
sete al
test al, al
je 0x42d860
test edi, edi
jne 0x42d83a
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov dword [eax + ecx + 4], eax
jmp 0x42d8f2
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x42d846
mov ecx, dword [eax + 0xc]
jmp 0x42d848
xor ecx, ecx
mov eax, dword [ebp - 0x44]
imul eax, ecx
mov ecx, dword [ebp - 0x18]
add eax, edi
mov dword [eax + ecx + 4], 0
jmp 0x42d8f2
mov ebx, dword [ebp - 0x40]
test edi, edi
jne 0x42d86b
xor eax, eax
jmp 0x42d87e
test ebx, ebx
je 0x42d874
mov ecx, dword [ebx + 0xc]
jmp 0x42d876
xor ecx, ecx
mov eax, dword [ebp - 0x44]
imul eax, ecx
add eax, edi
lea edx, [ebp + 0x14]
push edx
lea ecx, [eax + 0x2c]
call fcn.00413340
test edi, edi
jne 0x42d892
xor ecx, ecx
jmp 0x42d8a5
test ebx, ebx
je 0x42d89b
mov eax, dword [ebx + 0xc]
jmp 0x42d89d
xor eax, eax
mov ecx, dword [ebp - 0x44]
imul ecx, eax
add ecx, edi
test edi, edi
jne 0x42d8ad
xor eax, eax
jmp 0x42d8c0
test ebx, ebx
je 0x42d8b6
mov edx, dword [ebx + 0xc]
jmp 0x42d8b8
xor edx, edx
mov eax, dword [ebp - 0x44]
imul eax, edx
add eax, edi
mov edx, dword [ecx + 0x30]
sub edx, dword [ecx + 0x2c]
mov eax, dword [eax + 0x2c]
sar edx, 2
mov edx, dword [eax + edx*4 - 4]
test edi, edi
jne 0x42d8d8
xor eax, eax
jmp 0x42d8eb
test ebx, ebx
je 0x42d8e1
mov ecx, dword [ebx + 0xc]
jmp 0x42d8e3
xor ecx, ecx
mov eax, dword [ebp - 0x44]
imul eax, ecx
add eax, edi
mov ecx, dword [ebp - 0x18]
mov dword [ecx + eax + 4], edx
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, 0x1c
jl 0x42d7d1
test edi, edi
jne 0x42d90f
mov ebx, dword [ebp - 0x44]
xor eax, eax
jmp 0x42d927
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x42d91b
mov ecx, dword [eax + 0xc]
jmp 0x42d91d
xor ecx, ecx
mov ebx, dword [ebp - 0x44]
mov eax, ebx
imul eax, ecx
add eax, edi
mov edx, dword [ebp + 0xc]
lea ecx, [esi + edx]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
cmp dword [ecx + edx], 1
jne 0x42dc23
mov ecx, dword [ecx + edx + 4]
mov dword [eax + 0x20], ecx
test edi, edi
jne 0x42d94b
xor eax, eax
jmp 0x42d960
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x42d957
mov ecx, dword [eax + 0xc]
jmp 0x42d959
xor ecx, ecx
mov eax, ebx
imul eax, ecx
add eax, edi
mov edx, dword [ebp + 0xc]
lea ecx, [esi + edx + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
cmp dword [edx + ecx], 1
jne 0x42dc38
mov ecx, dword [edx + ecx + 4]
add esi, 0x10
mov dword [eax + 0x24], ecx
test edi, edi
jne 0x42d988
xor edx, edx
jmp 0x42d99c
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x42d994
mov eax, dword [eax + 0xc]
jmp 0x42d996
xor eax, eax
imul ebx, eax
lea edx, [edi + ebx]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
add eax, esi
cmp dword [ecx + eax], 1
jne 0x42dc4d
mov eax, dword [ecx + eax + 4]
lea ecx, [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x10]
add ecx, 0xf4
mov dword [edx + 0x28], eax
add esi, 8
call fcn.004d2180
mov eax, dword [ebp + 0x14]
add eax, 0xfffffff0
or ebx, 0xffffffff
mov byte [ebp - 4], 5
lea edx, [eax + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42d9f1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x40]
mov dword [ebp - 4], ebx
test edi, edi
je 0x42da21
add dword [edi + 4], ebx
jne 0x42da19
cmp byte [edi + 8], 0
je 0x42da0e
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 1
mov ecx, edi
call eax
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x14]
add eax, 0xb
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x20]
jl 0x42d6f3
mov edi, dword [ebp - 0x10]
mov eax, dword [edi + 0x108]
mov ecx, dword [edi + 0x104]
cmp ecx, eax
je 0x42da95
mov edx, dword [ebp + 8]
push edx
push ecx
push eax
push eax
call fcn.0040bd20
mov edi, dword [edi + 0x108]
add esp, 0x10
mov dword [ebp + 0x14], eax
mov ebx, eax
cmp eax, edi
je 0x42da89
mov eax, dword [ebx]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42da82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 4
cmp ebx, edi
jne 0x42da64
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x108], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [ebp + 0xc]
add eax, esi
mov edi, dword [eax + ecx]
add esi, 4
mov dword [ebp - 0x20], edi
test edi, edi
je 0x42db4d
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [ebp + 0x14], eax
xor ebx, ebx
mov dword [ebp - 4], 7
test edi, edi
jle 0x42db27
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
lea edi, [esi + ecx]
cmp dword [edi + eax], 0
jne 0x42dc62
push 0
push 0x517abc
lea ecx, [ebp + 0x14]
call fcn.004048b0
mov edx, dword [ebp + 8]
add edi, 4
push edi
mov edi, dword [ebp - 0x10]
lea ecx, [ebp + 0x14]
push ecx
push edx
mov ecx, edi
call fcn.0040ba80
add eax, 4
add esi, eax
lea eax, [ebp + 0x14]
push eax
lea ecx, [edi + 0x104]
call fcn.00413340
inc ebx
cmp ebx, dword [ebp - 0x20]
jl 0x42dad3
mov eax, dword [ebp + 0x14]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42db4d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x118]
mov ecx, dword [ebx + 0x114]
cmp ecx, eax
je 0x42db8f
mov edx, dword [ebp + 8]
push edx
push ecx
push eax
push eax
call fcn.004063e0
mov ecx, dword [ebp + 8]
push ecx
mov edi, eax
mov eax, dword [ebx + 0x118]
lea edx, [ebx + 0x120]
push edx
push eax
push edi
call fcn.00470560
add esp, 0x20
mov dword [ebx + 0x118], edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ebp + 0xc]
add ecx, esi
mov eax, dword [ecx + edx]
add esi, 4
mov dword [ebp - 0x28], eax
test eax, eax
je 0x42def3
mov dword [ebp + 0x14], 0
jle 0x42def3
push 0x14
call fcn.004f4b27
mov ebx, eax
add esp, 4
mov dword [ebp - 0x3c], ebx
xor edi, edi
mov dword [ebp - 4], 8
cmp ebx, edi
je 0x42dc77
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [ebx], eax
mov dword [ebx + 4], edi
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edi
jmp 0x42dc79
push 0x532fb0
lea ecx, [ebp - 0x1c]
push ecx
mov dword [ebp - 0x1c], 0x517d10
call fcn.004f4775
push 0x532fb0
lea edx, [ebp - 0x24]
push edx
mov dword [ebp - 0x24], 0x517d10
call fcn.004f4775
push 0x532fb0
lea eax, [ebp + 8]
push eax
mov dword [ebp + 8], 0x5179d8
call fcn.004f4775
push 0x532fb0
lea ecx, [ebp + 8]
push ecx
mov dword [ebp + 8], 0x5179d8
call fcn.004f4775
push 0x532fb0
lea edx, [ebp + 8]
push edx
mov dword [ebp + 8], 0x5179d8
call fcn.004f4775
push 0x532fb0
lea ecx, [ebp - 0x14]
push ecx
mov dword [ebp - 0x14], 0x517d10
call fcn.004f4775
xor ebx, ebx
push 1
push ebx
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.00405930
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 4], 9
cmp eax, edi
jne 0x42dca0
xor ebx, ebx
jmp 0x42dcb3
cmp ecx, edi
je 0x42dca9
mov ecx, dword [ecx + 0xc]
jmp 0x42dcab
xor ecx, ecx
mov ebx, dword [ebp - 0x50]
imul ebx, ecx
add ebx, eax
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, dword [edi]
add eax, esi
cmp dword [eax + ecx], 0
jne 0x42df9b
push 0
push 0x517abc
mov ecx, ebx
call fcn.004048b0
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
lea eax, [esi + edx + 4]
push eax
push ebx
push edi
call fcn.0040ba80
mov ecx, dword [edi]
add eax, 4
add esi, eax
mov eax, dword [ebp + 0xc]
add eax, esi
cmp dword [ecx + eax], 1
jne 0x42dc23
mov eax, dword [ecx + eax + 4]
add dword [ebp + 0x14], 2
add esi, 8
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 0
test eax, eax
jle 0x42dea3
push 0x10
call fcn.004f4b27
mov edi, eax
add esp, 4
test edi, edi
je 0x42dd41
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [edi], eax
jmp 0x42dd43
xor edi, edi
push 1
push edi
lea ecx, [ebp - 0x48]
call fcn.004059b0
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0xa
test ecx, ecx
jne 0x42dd60
xor edi, edi
jmp 0x42dd73
test eax, eax
je 0x42dd69
mov eax, dword [eax + 0xc]
jmp 0x42dd6b
xor eax, eax
mov edi, dword [ebp - 0x44]
imul edi, eax
add edi, ecx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
lea ebx, [esi + ecx]
cmp dword [ebx + eax], 0
jne 0x42dfb0
push 0
push 0x517abc
mov ecx, edi
call fcn.004048b0
mov ecx, dword [ebp + 8]
add ebx, 4
push ebx
push edi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0040ba80
inc dword [ebp + 0x14]
add eax, 4
add esi, eax
cmp dword [ebp - 0x48], 0
jne 0x42ddb9
xor eax, eax
jmp 0x42ddd0
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x42ddc5
mov ecx, dword [eax + 0xc]
jmp 0x42ddc7
xor ecx, ecx
mov eax, dword [ebp - 0x44]
imul eax, ecx
add eax, dword [ebp - 0x48]
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea ecx, [esi + edx]
mov edx, dword [edi]
cmp dword [ecx + edx], 2
jne 0x42dfc5
mov edx, dword [ecx + edx + 4]
inc dword [ebp + 0x14]
mov ebx, dword [ebp - 0x40]
mov dword [eax + 4], edx
mov edx, dword [edi]
mov ecx, dword [ecx + edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x48]
add esi, 0xc
test ecx, ecx
jne 0x42de09
xor edx, edx
jmp 0x42de1a
test ebx, ebx
je 0x42de12
mov edx, dword [ebx + 0xc]
jmp 0x42de14
xor edx, edx
imul edx, dword [ebp - 0x44]
add edx, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [edi]
add eax, esi
cmp dword [eax + ecx], 1
jne 0x42dc23
mov ecx, dword [eax + ecx + 4]
inc dword [ebp + 0x14]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x54]
xor edi, edi
add esi, 8
cmp edx, edi
jne 0x42de45
xor eax, eax
jmp 0x42de5b
mov eax, dword [ebp - 0x4c]
cmp eax, edi
je 0x42de51
mov ecx, dword [eax + 0xc]
jmp 0x42de53
xor ecx, ecx
mov eax, dword [ebp - 0x50]
imul eax, ecx
add eax, edx
lea edx, [ebp - 0x48]
push edx
lea ecx, [eax + 4]
call fcn.004d2180
mov byte [ebp - 4], 9
cmp ebx, edi
je 0x42de93
dec dword [ebx + 4]
jne 0x42de8d
cmp byte [ebx + 8], 0
je 0x42de82
mov eax, dword [ebx]
mov edx, dword [eax]
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 4]
push 1
mov ecx, ebx
call edx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x20]
jl 0x42dd1a
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x4c]
lea eax, [ebp - 0x54]
push eax
add ecx, 0x114
call fcn.004d2180
or eax, 0xffffffff
xor ebx, ebx
mov dword [ebp - 4], eax
cmp edi, ebx
je 0x42dee7
add dword [edi + 4], eax
jne 0x42dee1
cmp byte [edi + 8], bl
je 0x42ded6
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 1
mov ecx, edi
call eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], ebx
mov ecx, dword [ebp + 0x14]
cmp ecx, dword [ebp - 0x28]
jl 0x42dbb7
mov edi, dword [ebp - 0x10]
mov eax, dword [edi + 0x128]
mov ecx, dword [edi + 0x124]
cmp ecx, eax
je 0x42df35
mov edx, dword [ebp + 8]
push edx
push ecx
push eax
push eax
call fcn.004063e0
mov ecx, dword [ebp + 8]
push ecx
mov ebx, eax
mov eax, dword [edi + 0x128]
lea edx, [edi + 0x130]
push edx
push eax
push ebx
call fcn.00470560
add esp, 0x20
mov dword [edi + 0x128], ebx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ebp + 0xc]
add ecx, esi
mov eax, dword [ecx + edx]
add esi, 4
mov dword [ebp - 0x20], eax
test eax, eax
je 0x42e245
mov dword [ebp + 0x14], 0
jle 0x42e245
lea ecx, [ecx]
push 0x14
xor ebx, ebx
call fcn.004f4b27
mov edi, eax
add esp, 4
mov dword [ebp - 0x28], edi
mov dword [ebp - 4], 0xb
cmp edi, ebx
je 0x42dfda
mov eax, dword [0x5515b0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5515b0
call edx
add eax, 0x10
mov dword [edi], eax
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
jmp 0x42dfdc
push 0x532fb0
lea edx, [ebp - 0x2c]
push edx
mov dword [ebp - 0x2c], 0x517d10
call fcn.004f4775
push 0x532fb0
lea ecx, [ebp - 0x30]
push ecx
mov dword [ebp - 0x30], 0x517d10
call fcn.004f4775
push 0x532fb0
lea edx, [ebp + 8]
push edx
mov dword [ebp + 8], 0x5179f0
call fcn.004f4775
xor edi, edi
push 1
push edi
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.00405a30
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 4], 0xc
cmp eax, ebx
jne 0x42e003
xor edi, edi
jmp 0x42e016
cmp ecx, ebx
je 0x42e00c
mov ecx, dword [ecx + 0xc]
jmp 0x42e00e
xor ecx, ecx
mov edi, dword [ebp - 0x44]
imul edi, ecx
add edi, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
lea ebx, [esi + eax]
cmp dword [ebx + edx], 0
jne 0x42e25b
push 0
push 0x517abc
mov ecx, edi
call fcn.004048b0
mov ecx, dword [ebp - 0x10]
add ebx, 4
push ebx
push edi
mov edi, dword [ebp + 8]
push edi
call fcn.0040ba80
mov ecx, dword [edi]
add eax, 4
add esi, eax
mov eax, dword [ebp + 0xc]
add eax, esi
cmp dword [eax + ecx], 1
jne 0x42dc23
mov eax, dword [eax + ecx + 4]
add dword [ebp + 0x14], 2
add esi, 8
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], 0
test eax, eax
jle 0x42e1f5
push 8
call fcn.004f4b27
mov edi, eax
add esp, 4
test edi, edi
je 0x42e0ba
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [edi], eax
mov edx, dword [0x5515b0]
mov eax, dword [edx + 0xc]
mov ecx, 0x5515b0
call eax
add eax, 0x10
mov dword [edi + 4], eax
jmp 0x42e0bc
xor edi, edi
push 1
push edi
lea ecx, [ebp - 0x54]
call fcn.00405ab0
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0xd
test ecx, ecx
jne 0x42e0d9
xor edi, edi
jmp 0x42e0ec
test eax, eax
je 0x42e0e2
mov eax, dword [eax + 0xc]
jmp 0x42e0e4
xor eax, eax
mov edi, dword [ebp - 0x50]
imul edi, eax
add edi, ecx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
lea ebx, [esi + ecx]
cmp dword [ebx + eax], 0
jne 0x42e270
push 0
push 0x517abc
mov ecx, edi
call fcn.004048b0
mov ecx, dword [ebp + 8]
add ebx, 4
push ebx
push edi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0040ba80
inc dword [ebp + 0x14]
add eax, 4
add esi, eax
cmp dword [ebp - 0x54], 0
jne 0x42e132
xor eax, eax
jmp 0x42e149
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x42e13e
mov ecx, dword [eax + 0xc]
jmp 0x42e140
xor ecx, ecx
mov eax, dword [ebp - 0x50]
imul eax, ecx
add eax, dword [ebp - 0x54]
mov edx, dword [ebp + 0xc]
lea edi, [eax + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea ebx, [esi + edx]
cmp dword [ebx + ecx], 0
jne 0x42e285
push 0
push 0x517abc
mov ecx, edi
call fcn.004048b0
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
add ebx, 4
push ebx
push edi
push edx
call fcn.0040ba80
inc dword [ebp + 0x14]
add eax, 4
add esi, eax
cmp dword [ebp - 0x48], 0
jne 0x42e192
xor eax, eax
jmp 0x42e1a9
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x42e19e
mov ecx, dword [eax + 0xc]
jmp 0x42e1a0
xor ecx, ecx
mov eax, dword [ebp - 0x44]
imul eax, ecx
add eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x54]
push ecx
lea ecx, [eax + 4]
call fcn.004d2180
mov edi, dword [ebp - 0x4c]
xor ebx, ebx
mov byte [ebp - 4], 0xc
cmp edi, ebx
je 0x42e1e5
dec dword [edi + 4]
jne 0x42e1df
cmp byte [edi + 8], bl
je 0x42e1d4
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 1
mov ecx, edi
call eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x28]
jl 0x42e07d
mov edi, dword [ebp - 0x40]
lea ecx, [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x10]
add ecx, 0x124
call fcn.004d2180
or eax, 0xffffffff
xor ebx, ebx
mov dword [ebp - 4], eax
cmp edi, ebx
je 0x42e239
add dword [edi + 4], eax
jne 0x42e233
cmp byte [edi + 8], bl
je 0x42e228
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 1
mov ecx, edi
call eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x48], ebx
mov ecx, dword [ebp + 0x14]
cmp ecx, dword [ebp - 0x20]
jl 0x42df60
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x532fb0
lea edx, [ebp - 0x34]
push edx
mov dword [ebp - 0x34], 0x517d10
call fcn.004f4775
push 0x532fb0
lea ecx, [ebp - 0x38]
push ecx
mov dword [ebp - 0x38], 0x517d10
call fcn.004f4775
push 0x532fb0
lea edx, [ebp - 0x3c]
push edx
mov dword [ebp - 0x3c], 0x517d10
call fcn.004f4775
int3