Function at 0x4297b0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x80
mov eax, dword [0x871740]
mov edx, dword [0x86cff4]
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 0x429953
mov edi, dword [esi + 0x28]
mov ecx, dword [0x87173c]
mov edx, dword [ecx + 0x34]
and edi, 0xffff
imul edi, edi, 0x98
add edi, edx
cmp word [edi + 2], 0
mov edx, dword [0x6904e8]
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 0x4298e2
jmp 0x429850
movsx eax, word [esp + 0x10]
mov ecx, dword [edi + eax*4 + 0x58]
mov edx, dword [0x871738]
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 [0x851c30]
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 0x4298a5
mov eax, dword [eax + 0x4d8]
mov dword [esp + 0x14], eax
lea eax, [ebx + 4]
call fcn.004f24e0
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 0x429850
mov di, word [edi + 2]
test di, di
jle 0x429912
movsx edx, di
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fdivr dword [0x66c410]
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 0x429ee3
push edx
mov ebx, esi
call fcn.004296d0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov eax, dword [0x851c30]
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 0x42997f
xor ebp, ebp
jmp 0x42998d
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.004296d0
mov eax, dword [esi + 0x18]
push 1
lea edx, [esp + 0x2c]
push edx
push str.body
push eax
call fcn.004f1c60
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.0053a590
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 0x429bb7
mov edx, 1
cmp word [ebp + 0xb4], dx
jne 0x429bb7
mov eax, dword [ebp]
mov ebx, dword [0x86cff4]
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 0x429a8e
mov word [esi + 0x15e], dx
mov eax, dword [eax + 0x2f0]
test ah, 8
je 0x429a8e
test ah, 0x10
je 0x429a78
mov word [esi + 0x15e], 4
mov byte [esi + 0x99], dl
jmp 0x429a8e
test ah, 0x20
je 0x429a8e
shr eax, 0xe
not al
and eax, edx
or eax, 2
mov word [esi + 0x15e], ax
cmp dword [ebp + 0x328], ecx
jne 0x429ad0
mov eax, dword [esp + 0x94]
mov byte [esi + 0x161], 1
call fcn.0040fa80
fld dword [eax + 0x14c]
fcomp dword [0x66c40c]
fnstsw ax
test ah, 0x41
jne 0x429ac3
mov eax, 1
jmp 0x429ac5
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 0x429bfa
mov edx, dword [esi + 0x34]
mov ecx, edx
movsx eax, ax
and ecx, 0xffff
cmp ecx, eax
jne 0x429b6c
mov ax, word [ebp + 0x336]
cmp ax, 0xffff
je 0x429bfa
mov di, word [esi + 0x3a]
cmp di, ax
je 0x429bfa
mov ebx, dword [0x8716a8]
mov eax, ecx
imul eax, eax, 0x6c
add eax, dword [ebx + 0x34]
cmp word [eax + 0x62], 0
jle 0x429b6c
movsx eax, word [eax + 4]
add edi, eax
movsx ebx, di
mov edi, dword [0x8716ac]
shl ebx, 5
cmp byte [ebx + edi + 0x10], 0
je 0x429b6c
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 0x429bfa
mov al, byte [esi + 0x40]
test al, al
jne 0x429b98
cmp edx, 0xffffffff
mov ax, word [esi + 0x3a]
mov dword [esi + 0x44], edx
mov word [esi + 0x48], ax
mov byte [esi + 0x40], 1
je 0x429b98
mov edx, dword [0x8716a8]
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.00429100
jmp 0x429bf7
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 0x429bfa
mov ebx, dword [esi + 0x44]
mov eax, dword [esp + 0x94]
xor edx, edx
mov dx, word [esi + 0x48]
push edx
call fcn.00429100
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 0x429cfb
nop
mov eax, ebx
and eax, 0xffff
lea edx, [eax + eax*2]
mov eax, dword [0x851c30]
mov ecx, dword [eax + 0x34]
mov edi, dword [ecx + edx*4 + 8]
mov bp, word [edi + 0xb4]
test bp, bp
jne 0x429cc0
mov edx, dword [0x6eb3c0]
test edx, edx
mov cx, word [edi + 0xb8]
mov ax, word [esi + 0x3e]
je 0x429c6f
cmp ax, cx
setne al
jmp 0x429cb3
test ax, ax
jl 0x429cb7
cmp ax, 0xa
jge 0x429cb7
test cx, cx
jl 0x429cb7
cmp cx, 0xa
jge 0x429cb7
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 [0x6aa32c]
sar edx, 5
and eax, dword [ecx + edx*4 + 0xa4]
neg eax
sbb al, al
inc al
test al, al
je 0x429cc0
mov byte [esi + 0x1b4], 1
jmp 0x429ce8
cmp bp, 5
jne 0x429ce8
mov al, byte [edi + 0x22c]
test al, al
js 0x429ce2
cmp word [esi + 0x280], 2
jne 0x429ce8
cmp ebx, dword [esi + 0x28c]
jne 0x429ce8
mov dword [esi + 0x1b0], ebx
mov ebx, dword [edi + 0x114]
cmp ebx, 0xffffffff
jne 0x429c30
mov eax, dword [esp + 0x10]
or ecx, 0xffffffff
mov byte [esi + 0x15c], 0
mov dword [esi + 0x164], ecx
cmp word [eax + 0xb4], 0
jne 0x429d6b
cmp dword [esi + 0x158], ecx
jne 0x429d6b
mov eax, dword [esi + 0x18]
and eax, 0xffff
lea edx, [eax + eax*2]
mov eax, dword [0x851c30]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx + edx*4 + 8]
cmp byte [eax + 0x501], 6
jl 0x429d44
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 0x429d85
mov ecx, dword [esi + 0x158]
jmp 0x429d88
mov ecx, dword [esi + 0x18]
call fcn.005650f0
mov al, byte [esi + 0x99]
test al, al
jne 0x429dcd
mov ecx, edi
call fcn.004018e0
fcomp dword [0x66c40c]
fnstsw ax
test ah, 0x41
jne 0x429db7
mov dword [esi + 0x17c], 0
jmp 0x429dcd
mov ecx, dword [0x690508]
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 0x429e46
mov eax, dword [esi + 0x158]
and eax, 0xffff
lea edx, [eax + eax*2]
mov eax, dword [0x851c30]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx + edx*4 + 8]
mov edx, dword [eax]
mov ecx, dword [0x86cff4]
and edx, 0xffff
shl edx, 5
mov edx, dword [edx + ecx + 0x14]
mov ecx, dword [edx + 0x2f0]
test ch, 1
je 0x429e25
mov ecx, dword [esi + 0x18]
lea eax, [esi + 0x180]
call fcn.005650f0
mov ebp, dword [esp + 0x10]
jmp 0x429e66
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 0x429e66
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 [0x690510]
lea ebx, [esi + 0x198]
push eax
mov eax, ebx
mov ecx, edi
call fcn.004052d0
mov ecx, ebx
call fcn.00401990
fstp st(0)
lea eax, [esi + 0x1a4]
push edi
mov ecx, ebx
call fcn.004052d0
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