Function at 0x4297a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x80
mov eax, dword [0x87ff00]
mov edx, dword [0x87b7b4]
push ebx
mov ebx, dword [eax + 0x34]
push ebp
push esi
mov esi, dword [esp + 0x90]
and esi, 0xffff
imul esi, esi, 0x724
mov ecx, dword [esi + ebx + 0x58]
add esi, ebx
and ecx, 0xffff
shl ecx, 5
mov eax, dword [ecx + edx + 0x14]
mov dword [esp + 0x10], eax
mov al, byte [esi + 6]
test al, al
push edi
je 0x429943
mov edi, dword [esi + 0x28]
mov ecx, dword [0x87fefc]
mov edx, dword [ecx + 0x34]
and edi, 0xffff
imul edi, edi, 0x98
add edi, edx
cmp word [edi + 2], 0
mov edx, dword [0x6966f8]
mov ecx, dword [edx]
lea ebp, [edi + 0xc]
mov eax, ebp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov dword [esp + 0x10], 0
jle 0x4298d2
jmp 0x429840
movsx eax, word [esp + 0x10]
mov ecx, dword [edi + eax*4 + 0x58]
mov edx, dword [0x87fef8]
mov edx, dword [edx + 0x34]
and ecx, 0xffff
shl ecx, 6
lea ebx, [ecx + edx]
mov ecx, dword [edi + eax*4 + 0x18]
mov edx, dword [0x85ff50]
mov edx, dword [edx + 0x34]
mov eax, ecx
and eax, 0xffff
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4 + 8]
cmp word [eax + 0xb4], 0
mov dword [esp + 0x14], 0xffffffff
jne 0x429895
mov eax, dword [eax + 0x4d8]
mov dword [esp + 0x14], eax
lea eax, [ebx + 4]
call fcn.004f6aa0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x10], ecx
fld dword [ebx + 4]
fadd dword [ebp]
inc eax
mov dword [esp + 0x10], eax
fstp dword [ebp]
fld dword [ebx + 8]
fadd dword [ebp + 4]
fstp dword [ebp + 4]
fld dword [ebx + 0xc]
fadd dword [ebp + 8]
fstp dword [ebp + 8]
cmp ax, word [edi + 2]
jl 0x429840
mov di, word [edi + 2]
test di, di
jle 0x429902
movsx edx, di
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fdivr dword [0x672afc]
fld st(0)
fmul dword [ebp]
fstp dword [ebp]
fld st(0)
fmul dword [ebp + 4]
fstp dword [ebp + 4]
fmul dword [ebp + 8]
fstp dword [ebp + 8]
lea edx, [esi + 0x120]
xor eax, eax
mov ecx, 0x2a
mov edi, edx
rep stosd dword es:[edi], eax
or eax, 0xffffffff
mov dword [esi + 0x158], eax
mov dword [esi + 0x164], eax
mov esi, dword [esi + 0x24]
cmp esi, eax
je 0x429ed3
push edx
mov ebx, esi
call fcn.004296c0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov eax, dword [0x85ff50]
mov ecx, dword [eax + 0x34]
mov ebx, dword [esi + 0x18]
mov eax, ebx
and eax, 0xffff
lea edx, [eax + eax*2]
mov eax, dword [ecx + edx*4 + 8]
mov edi, dword [eax + 0x11c]
cmp edi, 0xffffffff
mov dword [esp + 0x10], eax
jne 0x42996f
xor ebp, ebp
jmp 0x42997d
mov eax, edi
and eax, 0xffff
lea eax, [eax + eax*2]
mov ebp, dword [ecx + eax*4 + 8]
lea ecx, [esi + 0x120]
push ecx
call fcn.004296c0
mov eax, dword [esi + 0x18]
push 1
lea edx, [esp + 0x2c]
push edx
push str.body
push eax
call fcn.004f6220
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x2c], ecx
lea ecx, [esi + 0x144]
push 0
push ecx
lea ebx, [esp + 0x34]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
call fcn.0053ee60
mov edx, dword [esp + 0x30]
mov byte [esi + 0x15d], al
mov eax, dword [edx]
shr eax, 0x15
and al, 1
xor ecx, ecx
add esp, 0x1c
cmp ebp, ecx
mov byte [esi + 0x99], al
je 0x429ba7
mov edx, 1
cmp word [ebp + 0xb4], dx
jne 0x429ba7
mov eax, dword [ebp]
mov ebx, dword [0x87b7b4]
and eax, 0xffff
shl eax, 5
mov eax, dword [eax + ebx + 0x14]
mov byte [esi + 0x161], cl
mov byte [esi + 0x162], cl
mov word [esi + 0x15e], cx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x158], edi
cmp dword [ebp + 0x324], ecx
jne 0x429a7e
mov word [esi + 0x15e], dx
mov eax, dword [eax + 0x2f0]
test ah, 8
je 0x429a7e
test ah, 0x10
je 0x429a68
mov word [esi + 0x15e], 4
mov byte [esi + 0x99], dl
jmp 0x429a7e
test ah, 0x20
je 0x429a7e
shr eax, 0xe
not al
and eax, edx
or eax, 2
mov word [esi + 0x15e], ax
cmp dword [ebp + 0x328], ecx
jne 0x429ac0
mov eax, dword [esp + 0x94]
mov byte [esi + 0x161], 1
call fcn.0040fa70
fld dword [eax + 0x14c]
fcomp dword [0x672af8]
fnstsw ax
test ah, 0x41
jne 0x429ab3
mov eax, 1
jmp 0x429ab5
xor eax, eax
mov byte [esi + 0x162], al
mov edx, 1
cmp word [esi + 0x15e], dx
setle cl
mov byte [esi + 0x160], cl
mov ax, word [ebp + 0x334]
cmp ax, 0xffff
je 0x429bea
mov edx, dword [esi + 0x34]
mov ecx, edx
movsx eax, ax
and ecx, 0xffff
cmp ecx, eax
jne 0x429b5c
mov ax, word [ebp + 0x336]
cmp ax, 0xffff
je 0x429bea
mov di, word [esi + 0x3a]
cmp di, ax
je 0x429bea
mov ebx, dword [0x87fe68]
mov eax, ecx
imul eax, eax, 0x6c
add eax, dword [ebx + 0x34]
cmp word [eax + 0x62], 0
jle 0x429b5c
movsx eax, word [eax + 4]
add edi, eax
movsx ebx, di
mov edi, dword [0x87fe6c]
shl ebx, 5
cmp byte [ebx + edi + 0x10], 0
je 0x429b5c
xor ebx, ebx
mov bx, word [ebp + 0x336]
add eax, ebx
movsx eax, ax
shl eax, 5
mov bl, byte [eax + edi + 0x10]
test bl, bl
jne 0x429bea
mov al, byte [esi + 0x40]
test al, al
jne 0x429b88
cmp edx, 0xffffffff
mov ax, word [esi + 0x3a]
mov dword [esi + 0x44], edx
mov word [esi + 0x48], ax
mov byte [esi + 0x40], 1
je 0x429b88
mov edx, dword [0x87fe68]
imul ecx, ecx, 0x6c
mov eax, dword [edx + 0x34]
mov byte [ecx + eax + 0x1e], 1
movsx ebx, word [ebp + 0x334]
mov eax, dword [esp + 0x94]
xor ecx, ecx
mov cx, word [ebp + 0x336]
push ecx
call fcn.004290f0
jmp 0x429be7
mov al, byte [esi + 0x40]
test al, al
mov dword [esi + 0x158], 0xffffffff
mov word [esi + 0x15e], cx
mov byte [esi + 0x160], 0
mov byte [esi + 0x161], 0
je 0x429bea
mov ebx, dword [esi + 0x44]
mov eax, dword [esp + 0x94]
xor edx, edx
mov dx, word [esi + 0x48]
push edx
call fcn.004290f0
mov byte [esi + 0x40], 0
add esp, 4
mov eax, dword [esp + 0x10]
mov dl, byte [eax + 0x28b]
test dl, dl
seta cl
mov byte [esi + 0x1b5], cl
mov byte [esi + 0x1b4], 0
mov dword [esi + 0x1b0], 0xffffffff
mov ebx, dword [eax + 0x118]
cmp ebx, 0xffffffff
je 0x429ceb
nop
mov eax, ebx
and eax, 0xffff
lea edx, [eax + eax*2]
mov eax, dword [0x85ff50]
mov ecx, dword [eax + 0x34]
mov edi, dword [ecx + edx*4 + 8]
mov bp, word [edi + 0xb4]
test bp, bp
jne 0x429cb0
mov edx, dword [0x6f1c48]
test edx, edx
mov cx, word [edi + 0xb8]
mov ax, word [esi + 0x3e]
je 0x429c5f
cmp ax, cx
setne al
jmp 0x429ca3
test ax, ax
jl 0x429ca7
cmp ax, 0xa
jge 0x429ca7
test cx, cx
jl 0x429ca7
cmp cx, 0xa
jge 0x429ca7
movsx eax, ax
lea edx, [eax + eax*4]
movsx eax, cx
lea edx, [eax + edx*2]
mov ecx, edx
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [0x6b0aac]
sar edx, 5
and eax, dword [ecx + edx*4 + 0xa4]
neg eax
sbb al, al
inc al
test al, al
je 0x429cb0
mov byte [esi + 0x1b4], 1
jmp 0x429cd8
cmp bp, 5
jne 0x429cd8
mov al, byte [edi + 0x22c]
test al, al
js 0x429cd2
cmp word [esi + 0x280], 2
jne 0x429cd8
cmp ebx, dword [esi + 0x28c]
jne 0x429cd8
mov dword [esi + 0x1b0], ebx
mov ebx, dword [edi + 0x114]
cmp ebx, 0xffffffff
jne 0x429c20
mov eax, dword [esp + 0x10]
or ecx, 0xffffffff
mov byte [esi + 0x15c], 0
mov dword [esi + 0x164], ecx
cmp word [eax + 0xb4], 0
jne 0x429d5b
cmp dword [esi + 0x158], ecx
jne 0x429d5b
mov eax, dword [esi + 0x18]
and eax, 0xffff
lea edx, [eax + eax*2]
mov eax, dword [0x85ff50]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx + edx*4 + 8]
cmp byte [eax + 0x501], 6
jl 0x429d34
mov byte [esi + 0x15c], 1
mov edx, dword [eax + 0x4dc]
add eax, 0x4e0
mov dword [esi + 0x164], edx
mov edx, dword [eax]
lea ecx, [esi + 0x168]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
cmp word [esi + 0x15e], 0
lea edi, [esi + 0x174]
mov eax, edi
jle 0x429d75
mov ecx, dword [esi + 0x158]
jmp 0x429d78
mov ecx, dword [esi + 0x18]
call fcn.00569b50
mov al, byte [esi + 0x99]
test al, al
jne 0x429dbd
mov ecx, edi
call fcn.004018e0
fcomp dword [0x672af8]
fnstsw ax
test ah, 0x41
jne 0x429da7
mov dword [esi + 0x17c], 0
jmp 0x429dbd
mov ecx, dword [0x696718]
mov edx, dword [ecx]
mov dword [edi], edx
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
mov ecx, dword [ecx + 8]
mov dword [edi + 8], ecx
mov al, byte [esi + 0x161]
test al, al
je 0x429e36
mov eax, dword [esi + 0x158]
and eax, 0xffff
lea edx, [eax + eax*2]
mov eax, dword [0x85ff50]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx + edx*4 + 8]
mov edx, dword [eax]
mov ecx, dword [0x87b7b4]
and edx, 0xffff
shl edx, 5
mov edx, dword [edx + ecx + 0x14]
mov ecx, dword [edx + 0x2f0]
test ch, 1
je 0x429e15
mov ecx, dword [esi + 0x18]
lea eax, [esi + 0x180]
call fcn.00569b50
mov ebp, dword [esp + 0x10]
jmp 0x429e56
mov ebp, dword [esp + 0x10]
add eax, 0x23c
mov edx, dword [eax]
lea ecx, [esi + 0x180]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
jmp 0x429e56
mov ebp, dword [esp + 0x10]
lea ecx, [ebp + 0x23c]
mov eax, dword [ecx]
lea edx, [esi + 0x180]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
lea edi, [esi + 0x18c]
lea edx, [ebp + 0x260]
mov ecx, dword [edx]
mov eax, edi
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov eax, dword [0x696720]
lea ebx, [esi + 0x198]
push eax
mov eax, ebx
mov ecx, edi
call fcn.004052c0
mov ecx, ebx
call fcn.00401990
fstp st(0)
lea eax, [esi + 0x1a4]
push edi
mov ecx, ebx
call fcn.004052c0
mov ecx, dword [ebp + 0xe0]
mov dword [esi + 0x1b8], ecx
mov edx, dword [ebp + 0xe4]
mov dword [esi + 0x1bc], edx
mov eax, dword [ebp + 0xf8]
mov dword [esi + 0x1c0], eax
mov ecx, dword [ebp + 0xf4]
add esp, 8
mov dword [esi + 0x1c4], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret