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

Disassembly:
push ebp
push edi
xor ecx, ecx
push esi
push ebx
sub esp, 0x9c
mov eax, dword [esp + 0xb0]
mov esi, dword [eax + 8]
mov dword [esp + 0x20], eax
cmp ecx, esi
je 0x42ae0e
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov edx, dword [eax + ecx*4]
xor eax, eax
mov edi, dword [edx + 0x14]
cmp eax, edi
je 0x42ad9b
mov ebx, dword [edx + 0x10]
mov ebx, dword [ebx + eax*4]
test ebx, ebx
je 0x42ad61
cmp dword [ebx], 0
jne 0x42ad98
imul eax, eax, 0x28
add eax, dword [edx + 0xc]
mov esi, dword [edx + 8]
mov ebx, eax
mov eax, dword [edx + 4]
mov edi, dword [eax]
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00651865
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov eax, dword [ebx]
mov dword [esp + 8], 0x6c6aa8
mov dword [esp + 0xc], eax
jmp 0x42adec
inc eax
jmp 0x42ad4e
mov edi, dword [edx + 0x20]
xor eax, eax
jmp 0x42ada9
cmp dword [ebx + 8], 0
je 0x42adb7
inc eax
cmp eax, edi
je 0x42ae08
mov ebx, dword [edx + 0x1c]
mov ebx, dword [ebx + eax*4]
test ebx, ebx
jne 0x42ada2
imul eax, eax, 0x28
add eax, dword [edx + 0x18]
mov esi, dword [edx + 8]
mov ebx, eax
mov eax, dword [edx + 4]
mov edi, dword [eax]
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00651865
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov eax, dword [ebx]
mov dword [esp + 8], 0x6c6b03
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], 0x10
mov dword [esp], eax
call fcn.00647705
jmp 0x42bae0
inc ecx
jmp 0x42ad37
xor edx, edx
xor ebp, ebp
mov esi, dword [esp + 0x20]
cmp ebp, dword [esi + 8]
jae 0x42af0d
mov eax, dword [esp + 0x20]
xor ebx, ebx
mov eax, dword [eax + 4]
mov edi, dword [eax + ebp*4]
cmp ebx, dword [edi + 0x14]
jae 0x42af03
mov eax, dword [edi + 0x10]
mov esi, dword [eax + ebx*4]
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x20], 0
je 0x42aefd
cmp dword [esi + 0x10], 0
mov dword [esp + 0x24], edx
jne 0x42ae5a
mov dword [esp], 0x6c6b64
jmp 0x42ae61
mov dword [esp], 0x6c6b69
call fcn.004268f1
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov dword [esp + 8], 0x6c6b6f
mov dword [esp + 4], 0x20
lea eax, [edx + 1]
mov dword [esp + 0xc], edx
mov dword [esp + 0x24], eax
lea eax, [esp + 0x70]
mov dword [esp], eax
call fcn.00429aa3
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], eax
lea eax, [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [esp + 0x6c]
mov dword [esp], eax
call fcn.0042a4b6
test eax, eax
js 0x42baec
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00427ccc
test eax, eax
js 0x42baec
mov edx, dword [esp + 0x24]
inc ebx
jmp 0x42ae2b
mov eax, ebp
inc eax
mov ebp, eax
jmp 0x42ae12
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0x20]
call fcn.0042a51c
cmp eax, 0xfffffff5
jne 0x42af40
mov eax, dword [esp + 0x20]
mov dword [esp + 8], 0x6c6b7c
mov dword [esp + 4], 0x30
mov dword [esp], eax
call fcn.00647705
jmp 0x42af0d
test eax, eax
js 0x42baec
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
cmp eax, dword [edi + 8]
jae 0x42b1de
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x24], 0
mov eax, dword [eax + 4]
mov ebx, dword [eax + edi*4]
cmp esi, dword [ebx + 0x14]
jae 0x42b02e
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x34], eax
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42b028
cmp dword [eax], 1
jne 0x42b028
mov eax, dword [eax + 4]
mov ecx, dword [eax]
xor eax, eax
cmp eax, dword [ebx + 0x20]
jae 0x42b028
mov edx, dword [ebx + 0x1c]
mov edi, dword [esp + 0x34]
mov edx, dword [edx + eax*4]
mov ebp, dword [edx + 0x10]
cmp dword [edi + 0x10], ebp
jne 0x42b025
mov edi, dword [edx + 0x40]
mov ebp, dword [edi]
cmp ebp, 1
mov dword [esp + 0x2c], ebp
je 0x42b025
test ebp, ebp
je 0x42afdc
xor edx, edx
jmp 0x42b00b
add edx, 0x40
mov dword [esp + 4], ecx
sar ecx, 0x1f
mov dword [esp + 8], ecx
mov dword [esp], edx
call fcn.0042dea9
test eax, eax
js 0x42baec
mov dword [esp + 0x24], 1
jmp 0x42b028
inc edx
cmp edx, dword [esp + 0x2c]
je 0x42b025
mov ebp, dword [edi + 4]
cmp ecx, dword [ebp + edx*4]
jne 0x42b004
mov dword [ebp], ecx
mov dword [esp + 0x24], 1
mov dword [edi], 1
inc eax
jmp 0x42afaf
inc esi
jmp 0x42af81
xor esi, esi
cmp esi, dword [ebx + 0x14]
jae 0x42b0dd
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x34], eax
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x42b0d7
cmp dword [eax], 1
jne 0x42b0d7
mov eax, dword [eax + 4]
mov ecx, dword [eax]
xor eax, eax
cmp eax, dword [ebx + 0x20]
jae 0x42b0d7
mov edx, dword [ebx + 0x1c]
mov edi, dword [esp + 0x34]
mov edx, dword [edx + eax*4]
mov ebp, dword [edx + 0x10]
cmp dword [edi + 0x10], ebp
jne 0x42b0d4
mov edi, dword [edx + 0x48]
mov ebp, dword [edi]
cmp ebp, 1
mov dword [esp + 0x2c], ebp
je 0x42b0d4
test ebp, ebp
je 0x42b08b
xor edx, edx
jmp 0x42b0ba
add edx, 0x48
mov dword [esp + 4], ecx
sar ecx, 0x1f
mov dword [esp + 8], ecx
mov dword [esp], edx
call fcn.0042dea9
test eax, eax
js 0x42baec
mov dword [esp + 0x24], 1
jmp 0x42b0d7
inc edx
cmp edx, dword [esp + 0x2c]
je 0x42b0d4
mov ebp, dword [edi + 4]
cmp ecx, dword [ebp + edx*4]
jne 0x42b0b3
mov dword [ebp], ecx
mov dword [esp + 0x24], 1
mov dword [edi], 1
inc eax
jmp 0x42b05e
inc esi
jmp 0x42b030
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x2c]
cmp eax, dword [ebx + 0x14]
jae 0x42bacf
mov eax, dword [ebx + 0x10]
mov esi, dword [esp + 0x2c]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x34], eax
mov eax, dword [eax + 0x54]
test eax, eax
je 0x42b1d5
cmp dword [eax + 4], 1
jne 0x42b1d5
mov eax, dword [eax]
xor ebp, ebp
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x3c], eax
mov eax, ecx
and eax, 0x7fffffff
mov dword [esp + 0x44], eax
cmp dword [esp + 0x3c], ebp
je 0x42b1d5
mov eax, dword [ebx + 0x1c]
mov edx, dword [eax + ebp*4]
mov eax, dword [esp + 0x34]
mov edi, dword [edx + 0x10]
cmp dword [eax + 0x10], edi
jne 0x42b1cb
mov eax, dword [edx + 0x50]
mov edi, dword [eax + 4]
mov dword [esp + 0x38], edi
dec edi
je 0x42b1cb
cmp byte [eax + 8], 0
je 0x42b170
test esi, esi
jns 0x42b174
cmp dword [esp + 0x44], 0
je 0x42b174
cmp byte [eax + 9], 0
jne 0x42b174
xor edx, edx
jmp 0x42b1aa
add edx, 0x50
mov byte [eax + 9], 0
mov byte [eax + 8], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp], edx
call fcn.0042e10e
test eax, eax
mov eax, 1
cmovns eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
jmp 0x42b1d5
mov edi, dword [eax]
cmp esi, dword [edi + edx*8 + 4]
je 0x42b1b2
inc edx
cmp dword [esp + 0x38], edx
jg 0x42b1a1
jmp 0x42b1cb
cmp ecx, dword [edi + edx*8]
jne 0x42b1a9
mov dword [edi], ecx
mov dword [edi + 4], esi
mov dword [esp + 0x24], 1
mov dword [eax + 4], 1
mov eax, ebp
inc eax
mov ebp, eax
jmp 0x42b130
inc dword [esp + 0x2c]
jmp 0x42b0e5
cmp dword [esp + 0x30], 0
jne 0x42af48
xor edi, edi
mov eax, dword [esp + 0x20]
cmp edi, dword [eax + 8]
jae 0x42b35e
mov eax, dword [esp + 0x20]
xor edx, edx
mov eax, dword [eax + 4]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x24], eax
mov ecx, dword [eax + 0x14]
xor eax, eax
cmp eax, ecx
je 0x42b22c
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 0x10]
mov edx, dword [edx + eax*4]
cmp dword [edx + 0x10], 1
jne 0x42b229
mov ebx, dword [edx + 0x44]
cmp dword [ebx], 1
je 0x42b22c
inc eax
jmp 0x42b20d
cmp eax, ecx
jne 0x42b233
inc edi
jmp 0x42b1eb
mov eax, dword [edx + 0x44]
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 0x28], eax
call fcn.0064fe4d
mov dword [esp + 0x34], 0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x34]
cmp esi, dword [eax + 0x20]
jae 0x42b230
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x34]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + esi*4]
cmp dword [edx + 0x10], 1
jne 0x42b355
mov eax, dword [edx + 0x40]
cmp dword [eax], 1
jbe 0x42b355
mov dword [esp + 0x30], 0x80000000
or esi, 0xffffffff
xor ebx, ebx
mov eax, dword [edx + 0x40]
cmp ebx, dword [eax]
jae 0x42b330
mov eax, dword [eax + 4]
mov dword [esp + 0x44], edx
mov ecx, dword [eax + ebx*4]
mov dword [esp], ecx
mov dword [esp + 0x38], ecx
call fcn.0064fe4d
mov ecx, dword [esp + 0x38]
mov ebp, eax
mov dword [esp], ecx
mov dword [esp + 0x3c], ecx
call fcn.0064fd99
cmp dword [esp + 0x28], eax
mov edx, dword [esp + 0x44]
je 0x42b342
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x38], edx
mov dword [esp], ecx
call fcn.0064fdba
cmp dword [esp + 0x28], eax
mov edx, dword [esp + 0x38]
je 0x42b342
cmp dword [esp + 0x2c], 4
jne 0x42b2f4
cmp ebp, 8
je 0x42b342
mov eax, ebp
sub eax, dword [esp + 0x2c]
mov ecx, eax
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x2c]
cmp ecx, ebp
jle 0x42b30f
neg eax
jmp 0x42b318
mov ecx, 0x3fffffff
sub ecx, eax
mov eax, ecx
cmp dword [esp + 0x30], eax
jl 0x42b324
mov eax, dword [esp + 0x30]
jmp 0x42b326
mov esi, ebx
inc ebx
mov dword [esp + 0x30], eax
jmp 0x42b291
cmp esi, 0xffffffff
jne 0x42b344
mov dword [esp + 0x14], 0x441
jmp 0x42b54c
mov esi, ebx
mov eax, dword [edx + 0x40]
mov eax, dword [eax + 4]
lea edx, [eax + esi*4]
mov ebx, dword [eax]
mov ecx, dword [edx]
mov dword [edx], ebx
mov dword [eax], ecx
inc dword [esp + 0x34]
jmp 0x42b253
xor edi, edi
mov eax, dword [esp + 0x20]
cmp edi, dword [eax + 8]
jae 0x42b460
mov eax, dword [esp + 0x20]
xor edx, edx
mov eax, dword [eax + 4]
mov ecx, dword [eax + edi*4]
xor eax, eax
mov ebx, dword [ecx + 0x14]
cmp eax, ebx
je 0x42b399
mov edx, dword [ecx + 0x10]
mov edx, dword [edx + eax*4]
cmp dword [edx + 0x10], 1
jne 0x42b396
mov esi, dword [edx + 0x4c]
cmp dword [esi], 1
je 0x42b399
inc eax
jmp 0x42b37e
cmp eax, ebx
jne 0x42b3a0
inc edi
jmp 0x42b360
mov eax, dword [edx + 0x4c]
xor ebx, ebx
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
cmp ebx, dword [ecx + 0x20]
jae 0x42b39d
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + ebx*4]
cmp dword [eax + 0x10], 1
jne 0x42b45a
mov eax, dword [eax + 0x48]
mov dword [esp + 0x24], eax
mov eax, dword [eax]
cmp eax, 1
mov dword [esp + 0x28], eax
jbe 0x42b45a
xor ebp, ebp
mov dword [esp + 0x2c], 0x7fffffff
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x30]
sub eax, dword [esi + ebp*4]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x7fffffff
jne 0x42b436
mov dword [esp + 0x14], 0x374
mov dword [esp + 0x10], 0x6c64a0
mov dword [esp + 0xc], 0x6c6ba6
mov dword [esp + 8], 0x6c64c7
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00647705
call fcn.00697e77
cmp eax, dword [esp + 0x2c]
jge 0x42b444
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], ebp
inc ebp
cmp ebp, dword [esp + 0x28]
jne 0x42b3e3
mov eax, dword [esp + 0x40]
mov ebp, dword [esi]
lea eax, [esi + eax*4]
mov edx, dword [eax]
mov dword [eax], ebp
mov dword [esi], edx
inc ebx
jmp 0x42b3ae
mov dword [esp + 0x44], 0
jmp 0x42b46e
inc dword [esp + 0x44]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
cmp eax, dword [edi + 8]
jae 0x42b7b6
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x38], 0
mov eax, dword [eax + 4]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x34], eax
mov edx, dword [eax + 0x14]
xor eax, eax
cmp eax, edx
je 0x42b4c7
mov esi, dword [esp + 0x34]
mov ecx, dword [esi + 0x10]
mov esi, dword [ecx + eax*4]
cmp dword [esi + 0x10], 1
mov dword [esp + 0x38], esi
jne 0x42b561
mov ecx, dword [esi + 0x54]
cmp dword [ecx + 4], 1
jne 0x42b561
cmp eax, edx
je 0x42b46a
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x58]
cmp esi, dword [eax + 0x20]
jae 0x42b46a
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x58]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + edi*4]
cmp dword [eax + 0x10], 1
mov dword [esp + 0x48], eax
jne 0x42b7ad
mov eax, dword [eax + 0x50]
cmp dword [eax + 4], 1
jle 0x42b7ad
mov dword [esp + 0x54], 0x7fffffff
mov dword [esp + 0x50], 0x80000000
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x30]
mov eax, dword [eax + 0x50]
cmp edi, dword [eax + 4]
jl 0x42b567
cmp dword [esp + 0x3c], 0
jns 0x42b790
mov dword [esp + 0x14], 0x3fc
mov dword [esp + 0x10], 0x6c64a0
mov dword [esp + 0xc], 0x6c6b98
jmp 0x42b415
inc eax
jmp 0x42b49e
mov esi, dword [esp + 0x38]
mov eax, dword [eax]
mov edx, dword [esi + 0x54]
mov esi, dword [esp + 0x30]
mov edx, dword [edx]
mov esi, dword [eax + esi*8]
mov edi, dword [edx]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x24], edi
mov edi, dword [edx + 4]
mov esi, dword [eax + esi*8 + 4]
mov eax, dword [esp + 0x24]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0063f203
mov ebx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0063f203
mov ecx, eax
sub ecx, ebx
test edi, edi
mov dword [esp + 0x4c], ecx
jns 0x42b5c6
test dword [esp + 0x24], 0x7fffffff
jne 0x42b5e0
test esi, esi
mov dword [esp + 0x2c], 0x186a0
jns 0x42b640
test dword [esp + 0x28], 0x7fffffff
je 0x42b640
test edi, edi
jns 0x42b5ed
mov edx, dword [esp + 0x24]
and edx, 0x7fffffff
cmovne ebx, edx
test esi, esi
jns 0x42b5fe
mov edx, dword [esp + 0x28]
and edx, 0x7fffffff
cmovne eax, edx
mov edx, eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
sub edx, ebx
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp eax, ebx
mov ecx, 0x2710
mov eax, 0
cmovl eax, ecx
xor esi, esi
xor edi, edi
lea eax, [eax + edx + 0x2710]
mov edx, 0x186a0
sub edx, eax
mov dword [esp + 0x2c], edx
mov ebx, 0x6c6c20
mov eax, 0x6c6d70
cmp eax, ebx
je 0x42b6ea
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
mov ecx, dword [esp + 0x24]
mov ebp, eax
and ecx, edx
and ebp, edi
or ebp, ecx
je 0x42b6e2
mov ecx, dword [esp + 0x28]
mov ebp, eax
and ebp, esi
and ecx, edx
or ebp, ecx
jne 0x42b6e2
mov ecx, dword [ebx + 8]
mov dword [esp + 0x40], ecx
mov ebp, dword [esp + 0x40]
and ebp, dword [esp + 0x28]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x5c], ebp
mov ebp, ecx
and ebp, esi
or ebp, dword [esp + 0x5c]
je 0x42b6e2
mov ebp, dword [esp + 0x40]
and ebp, dword [esp + 0x24]
mov dword [esp + 0x5c], ebp
mov ebp, ecx
and ebp, edi
or ebp, dword [esp + 0x5c]
jne 0x42b6e2
not eax
not edx
and dword [esp + 0x24], edx
and edi, eax
mov eax, ecx
mov edx, dword [esp + 0x40]
not eax
mov dword [esp + 4], ecx
and esi, eax
mov eax, dword [esp + 0x40]
not edx
and dword [esp + 0x28], edx
mov dword [esp], eax
call fcn.0063f203
mov ecx, dword [esp + 0x2c]
imul eax, eax, 0xa
lea eax, [ecx + eax - 2]
mov dword [esp + 0x2c], eax
add ebx, 0x10
jmp 0x42b645
test byte [esp + 0x24], 8
je 0x42b706
mov eax, dword [esp + 0x2c]
add eax, 0xa
test byte [esp + 0x28], 8
cmove eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x28]
mov edx, edi
and edx, esi
not edi
mov dword [esp + 4], edx
and eax, 0xfffffff7
mov dword [esp], eax
call fcn.0063f203
mov ebx, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, edi
and edx, esi
and eax, 0xfffffff7
and ecx, 0xfffffff7
mov dword [esp + 4], edx
not eax
and eax, ecx
mov dword [esp], eax
call fcn.0063f203
imul ebx, ebx, 0xa
imul eax, eax, 0xfffffffb
add ebx, eax
add ebx, dword [esp + 0x2c]
cmp ebx, dword [esp + 0x50]
jg 0x42b773
mov edi, dword [esp + 0x54]
cmp dword [esp + 0x4c], edi
jge 0x42b769
cmp ebx, dword [esp + 0x50]
je 0x42b777
mov eax, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
jmp 0x42b77f
mov dword [esp + 0x50], ebx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x4c]
inc dword [esp + 0x30]
mov dword [esp + 0x54], eax
jmp 0x42b529
mov ecx, dword [eax]
mov eax, dword [esp + 0x3c]
lea ebx, [ecx + eax*8]
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [ebx], esi
mov dword [ebx + 4], edi
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [esp + 0x58]
jmp 0x42b4d3
xor edx, edx
xor ebx, ebx
mov eax, dword [esp + 0x20]
cmp ebx, dword [eax + 8]
jae 0x42b887
mov eax, dword [esp + 0x20]
xor edi, edi
mov eax, dword [eax + 4]
mov esi, dword [eax + ebx*4]
cmp dword [esi + 0x14], 0
je 0x42b807
cmp edi, dword [esi + 0x14]
jae 0x42b807
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x42b804
cmp dword [ecx], 1
jne 0x42b804
xor edx, edx
call fcn.00429da4
test eax, eax
js 0x42baec
mov edx, 1
inc edi
jmp 0x42b7d9
xor edi, edi
cmp dword [esi + 0x20], 0
je 0x42b83d
cmp edi, dword [esi + 0x20]
jae 0x42b83d
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x42b83a
cmp dword [ecx], 1
jne 0x42b83a
xor edx, edx
call fcn.00429da4
test eax, eax
js 0x42baec
mov edx, 1
inc edi
jmp 0x42b80f
cmp dword [esi + 0x14], 0
je 0x42b881
cmp dword [esi + 0x20], 0
je 0x42b881
mov eax, dword [esi + 0x10]
xor edi, edi
mov eax, dword [eax]
cmp dword [eax + 0x34], 0
js 0x42b881
cmp edi, dword [esi + 0x20]
jae 0x42b881
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + edi*4]
cmp dword [eax + 0x34], 0
jns 0x42b87e
mov edx, dword [esi + 0x10]
mov edx, dword [edx]
call fcn.00429da4
test eax, eax
js 0x42baec
mov edx, 1
inc edi
jmp 0x42b856
inc ebx
jmp 0x42b7ba
test edx, edx
jne 0x42b7b6
xor ebx, ebx
mov eax, dword [esp + 0x20]
cmp ebx, dword [eax + 8]
jae 0x42b8e5
mov eax, dword [esp + 0x20]
xor edi, edi
mov eax, dword [eax + 4]
mov esi, dword [eax + ebx*4]
cmp edi, dword [esi + 0x14]
jae 0x42b8c3
mov eax, dword [esi + 0x10]
xor edx, edx
mov eax, dword [eax + edi*4]
call fcn.00429da4
test eax, eax
js 0x42baec
inc edi
jmp 0x42b8a6
xor edi, edi
cmp edi, dword [esi + 0x20]
jae 0x42b8e2
mov eax, dword [esi + 0x1c]
xor edx, edx
mov eax, dword [eax + edi*4]
call fcn.00429da4
test eax, eax
js 0x42baec
inc edi
jmp 0x42b8c5
inc ebx
jmp 0x42b891
xor ebx, ebx
mov eax, dword [esp + 0x20]
cmp ebx, dword [eax + 8]
jae 0x42b914
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov eax, dword [eax + ebx*4]
cmp dword [eax + 0x20], 0
je 0x42b903
inc ebx
jmp 0x42b8e7
mov dword [esp], eax
call fcn.00427dd1
test eax, eax
je 0x42b900
jmp 0x42baec
xor ebx, ebx
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 8]
cmp ebx, eax
mov dword [esp + 0x28], eax
jae 0x42b986
mov eax, dword [esp + 0x20]
xor esi, esi
mov eax, dword [eax + 4]
mov edi, dword [eax + ebx*4]
cmp esi, dword [edi + 0x20]
jae 0x42b983
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + esi*4]
cmp dword [eax + 0x10], 0
je 0x42b945
inc esi
jmp 0x42b931
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], 0
mov edx, dword [eax + 0x34]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 0xc], 0x7fffffff
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0x18]
mov dword [esp + 4], edx
mov eax, dword [eax + 0x14]
mov dword [esp], eax
call fcn.006464e6
test eax, eax
jns 0x42b942
jmp 0x42baec
inc ebx
jmp 0x42b916
xor edi, edi
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x28], eax
je 0x42ba14
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ebx*4]
xor eax, eax
mov esi, dword [ecx + 0x14]
cmp eax, esi
je 0x42b9cc
mov ebx, dword [ecx + 0x10]
mov edx, dword [esp + 0x20]
lea ebx, [ebx + eax*4]
inc eax
mov ebp, dword [ebx]
mov dword [ebp + 0x60], edx
mov ebx, dword [ebx]
mov dword [ebx + 0x78], 0xffffffff
jmp 0x42b9ad
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x2c], eax
xor eax, eax
cmp eax, dword [esp + 0x2c]
je 0x42b9f6
mov ebx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x20]
lea ebx, [ebx + eax*4]
inc eax
mov ebp, dword [ebx]
mov dword [ebp + 0x60], edx
mov ebx, dword [ebx]
mov dword [ebx + 0x78], 0xffffffff
jmp 0x42b9d5
test eax, eax
jne 0x42ba0b
mov eax, 0x7fffffff
sub eax, edi
cmp esi, eax
ja 0x42bae0
add edi, esi
inc dword [esp + 0x24]
jmp 0x42b990
mov dword [esp + 4], 4
mov dword [esp], edi
call fcn.00648a85
test eax, eax
mov dword [esp + 0x24], eax
je 0x42bae7
mov eax, dword [esp + 0x20]
xor ecx, ecx
xor ebx, ebx
mov esi, dword [eax + 8]
mov dword [esp + 0x30], esi
cmp ebx, dword [esp + 0x30]
je 0x42ba9c
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 4]
mov esi, dword [edx + ebx*4]
cmp dword [esi + 0x20], 0
jne 0x42ba99
mov edx, dword [esi + 0x14]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], edx
lea edx, [eax + ecx*4]
mov dword [esp + 0x34], edx
xor edx, edx
cmp edx, dword [esp + 0x2c]
lea eax, [edx + ecx]
mov dword [esp + 0x28], eax
je 0x42ba97
mov ebp, dword [esi + 0x10]
mov ebp, dword [ebp + edx*4]
mov eax, ebp
mov ebp, dword [esp + 0x34]
mov dword [ebp + edx*4], eax
mov eax, dword [esi + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [eax + edx*4]
inc edx
mov dword [eax + 0x78], ebp
jmp 0x42ba69
mov ecx, eax
inc ebx
jmp 0x42ba3f
cmp edi, ecx
je 0x42babd
mov dword [esp + 0x14], 0x4c7
mov dword [esp + 0x10], 0x6c64a0
mov dword [esp + 0xc], 0x6c6bb8
jmp 0x42b415
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [eax + 0x30], edi
mov dword [eax + 0x2c], esi
xor eax, eax
jmp 0x42baec
mov edi, dword [esp + 0x24]
inc dword [esp + 0x28]
or dword [esp + 0x30], edi
jmp 0x42af58
mov eax, 0xffffffea
jmp 0x42baec
mov eax, 0xfffffff4
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret