Function at 0x429610
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x40
mov dword [esp + 0x24], ecx
push 0x5ed3b0
call fcn.0059e460
pop ecx
mov ecx, dword [esp + 0x24]
call fcn.00429c00
test al, al
jne 0x429bd3
cmp dword [0x8f1a8c], 0
je 0x429bd3
cmp dword [0x8f1ae4], 0
je 0x429bd3
cmp dword [0x8e2824], 0
je 0x429bd3
cmp dword [0x8e28a0], 0
je 0x429bd3
push 0xfa0
push 0x1c
push 0
push 0x429bf0
push 0x1b588
call fcn.0059cc90
pop ecx
push eax
call fcn.0059ccb0
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
mov word [eax + 0x45be6], 0
add esp, 0x14
xor ebp, ebp
mov cl, byte [eax + 0x1b]
add ebp, 8
and cl, 0xfc
mov byte [eax + 0x1b], cl
mov dl, byte [eax + 0x3b]
and dl, 0xfc
mov byte [eax + 0x3b], dl
mov bl, byte [eax + 0x5b]
and bl, 0xfc
mov byte [eax + 0x5b], bl
mov cl, byte [eax + 0x7b]
and cl, 0xfc
mov byte [eax + 0x7b], cl
mov dl, byte [eax + 0x9b]
and dl, 0xfc
mov byte [eax + 0x9b], dl
mov bl, byte [eax + 0xbb]
and bl, 0xfc
mov byte [eax + 0xbb], bl
mov cl, byte [eax + 0xdb]
and cl, 0xfc
mov byte [eax + 0xdb], cl
mov dl, byte [eax + 0xfb]
and dl, 0xfc
mov byte [eax + 0xfb], dl
add eax, 0x100
cmp ebp, 0x133a
jl 0x4296a0
shl ebp, 5
add ebp, dword [esp + 0x24]
mov bl, byte [ebp + 0x1b]
and bl, 0xfc
mov byte [ebp + 0x1b], bl
mov al, byte [ebp + 0x3b]
and al, 0xfc
xor esi, esi
mov byte [ebp + 0x3b], al
mov dword [esp + 0x20], 0
xor ecx, ecx
xor ebx, ebx
mov edi, dword [esp + 0x20]
mov edx, ecx
lea eax, [eax]
mov eax, edi
mov ebp, dword [0x8f1a8c]
lea eax, [eax + eax*2]
mov al, byte [ebp + eax*4 + 6]
cmp al, 1
jne 0x429754
inc ecx
cmp al, 2
jne 0x429759
inc edx
inc ebx
inc edi
cmp ebx, 0xc
jl 0x429740
cmp dx, 1
jle 0x42977c
cmp cx, 2
je 0x42977c
movsx eax, si
push eax
push str.ILLEGAL_BLOCK._MORE_THAN_1_INTERNALS_AND_NOT_2_EXTERNALS__Modelindex:_d__n
call fcn.0059e460
pop ecx
pop ecx
inc esi
add dword [esp + 0x20], 0xc
cmp si, 0x1194
jl 0x429732
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x30]
movsx eax, word [esp + 0x28]
mov dword [esp + 0x10], eax
mov eax, eax
mov eax, dword [esp + 4]
lea ebp, [eax*4]
mov eax, dword [0x8f1a8c]
lea ebp, [ebp + ebp*2]
cmp byte [eax + ebp + 6], 1
jne 0x42989a
cmp byte [eax + ebp + 8], 0
jge 0x429813
or dword [esp], 0
sub esp, 0x90
lea esi, [eax + ebx]
mov ecx, 0x24
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push dword [esp + 0xa0]
push str.ILLEGAL_BLOCK._NEGATIVE_NUMBER_OF_LANES__Obj:_d_MI:_d__n
call fcn.0059e460
add esp, 0x98
mov eax, dword [0x8f1a8c]
cmp byte [eax + ebp + 9], 0
jge 0x42984c
or dword [esp], 0
sub esp, 0x90
lea esi, [eax + ebx]
mov ecx, 0x24
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push dword [esp + 0xa0]
push str.ILLEGAL_BLOCK._NEGATIVE_NUMBER_OF_LANES__Obj:_d_MI:_d__n
call fcn.0059e460
add esp, 0x98
mov edi, dword [0x8f1a8c]
mov esi, dword [0x8f1a8c]
movsx eax, byte [esi + ebp + 9]
movsx ecx, byte [edi + ebp + 8]
add eax, ecx
test eax, eax
jg 0x42989a
mov eax, dword [0x8f1a8c]
or dword [esp], 0
sub esp, 0x90
lea esi, [eax + ebx]
mov ecx, 0x24
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push dword [esp + 0xa0]
push str.ILLEGAL_BLOCK._NO_LANES_IN_NODE__Obj:_d_MI:_d__n
call fcn.0059e460
add esp, 0x98
inc dword [esp + 8]
inc dword [esp + 4]
cmp dword [esp + 8], 0xc
jl 0x4297c0
inc dword [esp + 0x28]
add dword [esp + 0x2c], 0xc
add dword [esp + 0x30], 0x90
cmp word [esp + 0x28], 0x1194
jl 0x4297a1
mov eax, dword [esp + 0x24]
mov dword [eax + 0x45bd8], 0
mov eax, dword [0x8e2824]
push 0x64
push eax
mov eax, dword [0x8f1a8c]
mov ecx, dword [esp + 0x2c]
push dword [0x5ed478]
push eax
push dword [esp + 0x44]
push 0
call fcn.00429c20
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x45bd8]
mov dword [eax + 0x45bdc], edx
mov eax, dword [0x8e28a0]
push 0x32
push eax
mov eax, dword [0x8f1ae4]
mov ecx, dword [esp + 0x2c]
push dword [0x5ed478]
push eax
push dword [esp + 0x44]
push 1
call fcn.00429c20
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x45bd8]
sub edi, dword [eax + 0x45bdc]
fldz
fldz
mov dword [eax + 0x45be0], edi
mov dword [esp + 0x18], 0
jmp 0x429b34
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4 + 0x32ae0]
xor edi, edi
movsx ebx, word [eax + 0x5c]
fld dword [0x5ed47c]
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], 0
mov dword [esp + 0x1c], eax
lea ecx, [ebx*4]
fst st(1)
fstp st(2)
lea ecx, [ecx + ecx*2]
mov eax, ecx
lea esi, [eax*4]
mov eax, dword [0x8f1a8c]
lea esi, [esi + esi*2]
mov dl, byte [eax + esi + 6]
cmp dl, 1
jne 0x429a73
mov ebp, dword [0x8f1a8c]
movsx eax, byte [eax + esi + 9]
movsx edx, byte [ebp + esi + 8]
add eax, edx
cmp edi, eax
jg 0x4299cd
mov edi, eax
mov eax, dword [0x8f1a8c]
mov bx, word [eax + esi]
test bx, bx
jge 0x4299e2
movsx eax, bx
neg eax
jmp 0x4299e5
movsx eax, bx
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x429a00
fld st(1)
jmp 0x429a1b
test bx, bx
jge 0x429a10
movsx eax, bx
neg eax
jmp 0x429a13
movsx eax, bx
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fstp st(2)
mov eax, dword [0x8f1a8c]
mov bp, word [eax + esi + 2]
fld st(1)
test bp, bp
fstp st(2)
jge 0x429a37
movsx eax, bp
neg eax
jmp 0x429a3a
movsx eax, bp
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
je 0x429a6d
test bp, bp
jge 0x429a60
movsx eax, bp
neg eax
jmp 0x429a63
movsx eax, bp
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fstp st(1)
inc dword [esp + 0x14]
jmp 0x429a7c
cmp dl, 2
jne 0x429a7c
inc dword [esp + 0x1c]
inc dword [esp + 0xc]
inc ecx
cmp dword [esp + 0xc], 0xc
jl 0x429997
cmp dword [esp + 0x1c], 1
jne 0x429b30
cmp dword [esp + 0x14], 2
jne 0x429b30
cmp edi, 4
jl 0x429ae6
fld st(1)
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
fcomp st(1)
or byte [eax + ecx + 0x33e68], 1
fnstsw ax
test ah, 0x45
jne 0x429ad4
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
or byte [eax + ecx + 0x33e68], 2
jmp 0x429b30
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
and byte [eax + ecx + 0x33e68], 0xfd
jmp 0x429b30
mov eax, dword [esp + 0x18]
and eax, 7
cmp eax, 4
jne 0x429b30
fld st(1)
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
fcomp st(1)
or byte [eax + ecx + 0x33e68], 1
fnstsw ax
test ah, 0x45
jne 0x429b20
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
or byte [eax + ecx + 0x33e68], 2
jmp 0x429b30
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
and byte [eax + ecx + 0x33e68], 0xfd
inc dword [esp + 0x18]
mov eax, dword [esp + 0x24]
movsx eax, word [eax + 0x45be4]
cmp dword [esp + 0x18], eax
jl 0x429956
cmp dword [esp + 0x34], 0
je 0x429be6
fcompp
add dword [esp + 0x34], 0xfffffff8
push dword [esp + 0x34]
call fcn.005a3380
pop ecx
mov ecx, dword [esp + 0x24]
push 0
call fcn.0042b810
mov ecx, dword [esp + 0x24]
push 1
call fcn.0042b810
mov eax, dword [0x8f1a8c]
push eax
call fcn.005a3380
mov eax, dword [0x8f1ae4]
pop ecx
push eax
mov dword [0x8f1a8c], 0
call fcn.005a3380
mov eax, dword [0x8e2824]
pop ecx
push eax
mov dword [0x8f1ae4], 0
call fcn.005a3380
mov eax, dword [0x8e28a0]
pop ecx
push eax
mov dword [0x8e2824], 0
call fcn.005a3380
mov dword [0x8e28a0], 0
pop ecx
push str.Done_with_PreparePathData_n
call fcn.0059e460
pop ecx
add esp, 0x40
pop ebp
pop edi
pop esi
pop ebx
ret
fcompp
jmp 0x429b65