Function at 0x61b830
Capabilities:
Enumerate pe sections

Disassembly:
test dword [0x9d4cb8], 0xffffff80
jne 0x61b858
test dword [0x9d4cb8], 0xffffffff
jne 0x61be78
call fcn.008a6df8
jmp fcn.0061b830
push ebx
mov ebx, esp
and esp, 0xfffffff8
push edi
push esi
push ebp
sub esp, 0x2c
mov esi, ecx
mov edi, edx
mov ebp, eax
xor eax, eax
mov dword [esp + 0x20], eax
movzx ecx, byte [edi + 0x1c]
cmp ecx, 0xff
je 0x61be6b
movsx eax, cl
mov edx, 1
mov byte [ebp + 0x11], al
mov dword [esp + 0x20], edx
mov edx, dword [ebx + 0x14]
movzx ecx, byte [edx + 0x19]
test ecx, ecx
jle 0x61b8a8
add ecx, eax
mov eax, 1
mov byte [ebp + 0x11], cl
mov dword [esp + 0x20], eax
movzx eax, byte [esi + 9]
push eax
call fcn.0042365c
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
movzx eax, byte [esi + 0xa]
fmul qword [0xa348a8]
fstp qword [esp + 0x10]
push eax
call fcn.00423648
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
movzx eax, byte [esi + 0xc]
fmul qword [0xa348a8]
fstp qword [esp + 0x18]
push eax
call fcn.00423618
fmul qword [0xa348a8]
movzx eax, byte [esi + 0xb]
mov ecx, 1
mov dword [esp], eax
mov eax, dword [ebx + 0x14]
fild dword [esp]
fmul qword [0xa348a0]
fmul st(0)
fmul st(0)
fmul st(0)
mov dword [ebp + 0x6b8], ecx
mov dword [ebp + 0x5fc], 0x3f800000
mov byte [ebp + 0xa08], cl
mov word [ebp + 0x5f8], cx
xor ecx, ecx
mov dword [ebp + 0x9f8], 2
mov dword [ebp + 0x6f0], 0
fld qword [esp + 0x10]
fstp dword [ebp + 0x6f8]
mov dword [ebp + 0x6fc], 0
fld qword [esp + 0x18]
fstp dword [ebp + 0x700]
fstp dword [ebp + 0x6f4]
fstp dword [ebp + 0x704]
movzx edx, byte [eax + 0x18]
mov eax, 1
cmp edx, 0
cmove ecx, eax
mov byte [ebp + 0x30], cl
movsx edx, byte [esi + 3]
movsx eax, byte [esi + 2]
push eax
push edx
call fcn.00423238
add esp, 8
fstp dword [ebp + 0x20]
xor ecx, ecx
mov eax, 0xffffffff
mov dword [ebp + 0x18], 0x3e800000
mov byte [ebp + 0x497c], cl
mov word [ebp + 0x48b8], cx
mov word [ebp + 0x48ba], ax
mov dword [ebp + 0x48bc], 0x3f800000
mov word [ebp + 0x48c0], ax
mov word [ebp + 0x48c4], cx
mov word [ebp + 0x48c6], ax
mov dword [ebp + 0x48c8], 0x3f800000
mov word [ebp + 0x48cc], ax
mov word [ebp + 0x48d0], cx
mov word [ebp + 0x48d2], ax
mov dword [ebp + 0x48d4], 0x3f800000
mov word [ebp + 0x48d8], ax
mov word [ebp + 0x48dc], cx
mov word [ebp + 0x48de], ax
mov dword [ebp + 0x48e0], 0x3f800000
mov word [ebp + 0x48e4], ax
mov word [ebp + 0x48e8], cx
mov word [ebp + 0x48ea], ax
mov dword [ebp + 0x48ec], 0x3f800000
mov word [ebp + 0x48f0], ax
mov word [ebp + 0x48f4], cx
mov word [ebp + 0x48f6], ax
mov dword [ebp + 0x48f8], 0x3f800000
mov word [ebp + 0x48fc], ax
mov word [ebp + 0x4900], cx
mov word [ebp + 0x4902], ax
mov dword [ebp + 0x4904], 0x3f800000
mov word [ebp + 0x4908], ax
mov word [ebp + 0x490c], cx
mov word [ebp + 0x490e], ax
mov dword [ebp + 0x4910], 0x3f800000
mov word [ebp + 0x4914], ax
mov word [ebp + 0x4918], cx
mov word [ebp + 0x491a], ax
mov dword [ebp + 0x491c], 0x3f800000
mov word [ebp + 0x4920], ax
mov word [ebp + 0x4924], cx
mov word [ebp + 0x4926], ax
mov dword [ebp + 0x4928], 0x3f800000
mov word [ebp + 0x492c], ax
mov word [ebp + 0x4930], cx
mov word [ebp + 0x4932], ax
mov dword [ebp + 0x4934], 0x3f800000
mov word [ebp + 0x4938], ax
mov word [ebp + 0x493c], cx
mov word [ebp + 0x493e], ax
mov dword [ebp + 0x4940], 0x3f800000
mov word [ebp + 0x4944], ax
mov word [ebp + 0x4948], cx
mov word [ebp + 0x494a], ax
mov dword [ebp + 0x494c], 0x3f800000
mov word [ebp + 0x4950], ax
mov word [ebp + 0x4954], cx
mov word [ebp + 0x4956], ax
mov dword [ebp + 0x4958], 0x3f800000
mov word [ebp + 0x495c], ax
mov word [ebp + 0x4960], cx
mov word [ebp + 0x4962], ax
mov dword [ebp + 0x4964], 0x3f800000
mov word [ebp + 0x4968], ax
mov word [ebp + 0x496c], cx
mov word [ebp + 0x496e], ax
mov dword [ebp + 0x4970], 0x3f800000
mov word [ebp + 0x4974], ax
mov dword [ebp + 0x4978], 1
mov byte [ebp + 0x4b97], cl
mov dword [ebp + 0x4b9c], 0
mov byte [ebp + 0x4b94], cl
mov byte [ebp + 0x4b95], cl
mov byte [ebp + 0x4b98], cl
mov byte [ebp + 0x4b99], cl
mov byte [ebp + 0x4b9a], 0xff
mov byte [ebp + 0x4b96], cl
mov cl, byte [edi + 0x20]
test cl, cl
je 0x61bc13
mov ecx, 1
mov dword [ebp + 0x4978], ecx
mov word [ebp + 0x48b8], cx
mov byte [ebp + 0x4b97], cl
mov byte [ebp + 0x4b98], 6
movsx edx, byte [edi + 0x20]
cvtsi2ss xmm0, edx
mulss xmm0, dword [0xa348d0]
movss dword [ebp + 0x48bc], xmm0
movzx eax, byte [esi + 4]
mov edx, dword [ebx + 0x14]
movsx edi, byte [edx + 0x12]
add eax, edi
movsx edx, ax
xor edi, edi
test edx, edx
jle 0x61bc2b
mov edi, edx
mov edx, 0x63
cmp edi, 0x63
cmovl edx, edi
cmp edx, 0x62
jge 0x61be26
mov dword [ebp + 0xa5b8], 3
mov dword [ebp + 0xa5cc], 0
cvtsi2ss xmm3, edx
mulss xmm3, dword [0xa348cc]
movss dword [ebp + 0xa5c8], xmm3
mov dl, byte [esi + 6]
test dl, dl
je 0x61bcaa
mov edx, 1
mov edi, 4
mov dword [ebp + 0x4c60], edx
mov byte [ebp + 0x4e7f], dl
mov byte [ebp + 0x4e80], 6
mov word [ebp + 0x4ba0], di
movsx edx, byte [esi + 6]
cvtsi2ss xmm0, edx
mulss xmm0, dword [0xa348d0]
movss dword [ebp + 0x4ba4], xmm0
mov dl, byte [esi + 5]
test dl, dl
je 0x61bced
mov edx, 1
mov edi, 4
mov dword [ebp + 0x4f48], edx
mov byte [ebp + 0x5167], dl
mov byte [ebp + 0x5168], 5
mov word [ebp + 0x4e88], di
movsx edx, byte [esi + 5]
cvtsi2ss xmm0, edx
mulss xmm0, dword [0xa348c8]
movss dword [ebp + 0x4e8c], xmm0
mov dl, byte [esi + 8]
test dl, dl
je 0x61be30
mov edx, 1
mov dword [ebp + 0xae4], edx
movsx edi, byte [esi + 8]
cvtsi2ss xmm3, edi
mulss xmm3, dword [0xa348d0]
movss dword [ebp + 0xa28], xmm3
mov byte [ebp + 0xe34], dl
mov edx, 4
mov word [ebp + 0xa24], dx
mov dword [ebp + 0xe24], 2
mov dword [ebp + 0xb1c], 0
movzx edx, byte [esi + 0x11]
push edx
call fcn.0042365c
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
movzx edx, byte [esi + 0x12]
fmul qword [0xa348a8]
fstp qword [esp + 0x18]
push edx
call fcn.00423648
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
movzx edx, byte [esi + 0x14]
fmul qword [0xa348a8]
fstp qword [esp + 0x10]
push edx
call fcn.00423618
fmul qword [0xa348a8]
movzx edx, byte [esi + 0x13]
mov dword [esp + 8], edx
fild dword [esp + 8]
fmul qword [0xa348a0]
fld qword [esp + 0x18]
fst dword [ebp + 0xb24]
fcomp dword [0xa348c4]
fnstsw ax
sahf
jae 0x61bdba
mov dword [ebp + 0xb24], 0
mov dword [ebp + 0xb28], 0
fld qword [esp + 0x10]
fstp dword [ebp + 0xb2c]
fstp dword [ebp + 0xb20]
fstp dword [ebp + 0xb30]
mov dl, byte [esi + 0x19]
test dl, dl
je 0x61be30
mov edx, 1
mov edi, 0xb
mov dword [ebp + 0x5230], edx
mov byte [ebp + 0x544f], dl
mov byte [ebp + 0x5450], 6
mov word [ebp + 0x5170], di
mov word [ebp + 0x5172], dx
movsx ecx, byte [esi + 0x19]
cvtsi2ss xmm0, ecx
mulss xmm0, dword [0xa348d0]
movss dword [ebp + 0x5174], xmm0
jmp 0x61be30
mov dword [ebp + 0xa5b8], 0
mov edx, 1
mov ecx, 3
mov eax, dword [esp + 0x20]
mov dword [ebp + 0x5518], edx
mov byte [ebp + 0x5737], dl
mov byte [ebp + 0x5738], dl
mov word [ebp + 0x5458], cx
mov dword [ebp + 0x545c], 0x3daaaaab
add esp, 0x2c
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
xor eax, eax
mov byte [ebp + 0x11], 0
jmp 0x61b88f
push ebx
mov ebx, esp
and esp, 0xfffffff8
push edi
push esi
push ebp
sub esp, 0x2c
mov esi, ecx
mov edi, edx
mov ebp, eax
xor eax, eax
mov dword [esp + 0x20], eax
movzx ecx, byte [edi + 0x1c]
cmp ecx, 0xff
je 0x61c488
movsx eax, cl
mov edx, 1
mov byte [ebp + 0x11], al
mov dword [esp + 0x20], edx
mov edx, dword [ebx + 0x14]
movzx ecx, byte [edx + 0x19]
test ecx, ecx
jle 0x61bec8
add ecx, eax
mov eax, 1
mov byte [ebp + 0x11], cl
mov dword [esp + 0x20], eax
movzx eax, byte [esi + 9]
push eax
call fcn.0042365c
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
movzx eax, byte [esi + 0xa]
fmul qword [0xa34908]
fstp qword [esp + 0x10]
push eax
call fcn.00423648
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
movzx eax, byte [esi + 0xc]
fmul qword [0xa34908]
fstp qword [esp + 0x18]
push eax
call fcn.00423618
fmul qword [0xa34908]
movzx eax, byte [esi + 0xb]
mov ecx, 1
mov dword [esp], eax
mov eax, dword [ebx + 0x14]
fild dword [esp]
fmul qword [0xa34900]
fmul st(0)
fmul st(0)
fmul st(0)
mov dword [ebp + 0x6b8], ecx
mov dword [ebp + 0x5fc], 0x3f800000
mov byte [ebp + 0xa08], cl
mov word [ebp + 0x5f8], cx
mov dword [ebp + 0x9f8], 2
mov dword [ebp + 0x6f0], 0
fld qword [esp + 0x10]
fstp dword [ebp + 0x6f8]
mov dword [ebp + 0x6fc], 0
fld qword [esp + 0x18]
fstp dword [ebp + 0x700]
fstp dword [ebp + 0x6f4]
fstp dword [ebp + 0x704]
mov cl, byte [eax + 0x18]
test cl, cl
sete cl
mov byte [ebp + 0x30], cl
movsx edx, byte [esi + 3]
movsx eax, byte [esi + 2]
push eax
push edx
call fcn.00423238
add esp, 8
fstp dword [ebp + 0x20]
xor ecx, ecx
mov eax, 0xffffffff
mov dword [ebp + 0x18], 0x3e800000
mov byte [ebp + 0x497c], cl
mov word [ebp + 0x48b8], cx
mov word [ebp + 0x48ba], ax
mov dword [ebp + 0x48bc], 0x3f800000
mov word [ebp + 0x48c0], ax
mov word [ebp + 0x48c4], cx
mov word [ebp + 0x48c6], ax
mov dword [ebp + 0x48c8], 0x3f800000
mov word [ebp + 0x48cc], ax
mov word [ebp + 0x48d0], cx
mov word [ebp + 0x48d2], ax
mov dword [ebp + 0x48d4], 0x3f800000
mov word [ebp + 0x48d8], ax
mov word [ebp + 0x48dc], cx
mov word [ebp + 0x48de], ax
mov dword [ebp + 0x48e0], 0x3f800000
mov word [ebp + 0x48e4], ax
mov word [ebp + 0x48e8], cx
mov word [ebp + 0x48ea], ax
mov dword [ebp + 0x48ec], 0x3f800000
mov word [ebp + 0x48f0], ax
mov word [ebp + 0x48f4], cx
mov word [ebp + 0x48f6], ax
mov dword [ebp + 0x48f8], 0x3f800000
mov word [ebp + 0x48fc], ax
mov word [ebp + 0x4900], cx
mov word [ebp + 0x4902], ax
mov dword [ebp + 0x4904], 0x3f800000
mov word [ebp + 0x4908], ax
mov word [ebp + 0x490c], cx
mov word [ebp + 0x490e], ax
mov dword [ebp + 0x4910], 0x3f800000
mov word [ebp + 0x4914], ax
mov word [ebp + 0x4918], cx
mov word [ebp + 0x491a], ax
mov dword [ebp + 0x491c], 0x3f800000
mov word [ebp + 0x4920], ax
mov word [ebp + 0x4924], cx
mov word [ebp + 0x4926], ax
mov dword [ebp + 0x4928], 0x3f800000
mov word [ebp + 0x492c], ax
mov word [ebp + 0x4930], cx
mov word [ebp + 0x4932], ax
mov dword [ebp + 0x4934], 0x3f800000
mov word [ebp + 0x4938], ax
mov word [ebp + 0x493c], cx
mov word [ebp + 0x493e], ax
mov dword [ebp + 0x4940], 0x3f800000
mov word [ebp + 0x4944], ax
mov word [ebp + 0x4948], cx
mov word [ebp + 0x494a], ax
mov dword [ebp + 0x494c], 0x3f800000
mov word [ebp + 0x4950], ax
mov word [ebp + 0x4954], cx
mov word [ebp + 0x4956], ax
mov dword [ebp + 0x4958], 0x3f800000
mov word [ebp + 0x495c], ax
mov word [ebp + 0x4960], cx
mov word [ebp + 0x4962], ax
mov dword [ebp + 0x4964], 0x3f800000
mov word [ebp + 0x4968], ax
mov word [ebp + 0x496c], cx
mov word [ebp + 0x496e], ax
mov dword [ebp + 0x4970], 0x3f800000
mov word [ebp + 0x4974], ax
mov dword [ebp + 0x4978], 1
mov byte [ebp + 0x4b97], cl
mov dword [ebp + 0x4b9c], 0
mov byte [ebp + 0x4b94], cl
mov byte [ebp + 0x4b95], cl
mov byte [ebp + 0x4b98], cl
mov byte [ebp + 0x4b99], cl
mov byte [ebp + 0x4b9a], 0xff
mov byte [ebp + 0x4b96], cl
mov cl, byte [edi + 0x20]
test cl, cl
je 0x61c22a
mov ecx, 1
mov dword [ebp + 0x4978], ecx
mov word [ebp + 0x48b8], cx
mov byte [ebp + 0x4b97], cl
mov byte [ebp + 0x4b98], 6
movsx edx, byte [edi + 0x20]
mov dword [esp + 8], edx
fild dword [esp + 8]
fmul dword [0xa34920]
fstp dword [ebp + 0x48bc]
movzx eax, byte [esi + 4]
mov edx, dword [ebx + 0x14]
movsx edi, byte [edx + 0x12]
add eax, edi
movsx edi, ax
mov edx, edi
test edx, edx
jge 0x61c244
xor edi, edi
xor edx, edx
cmp edx, 0x63
jle 0x61c253
mov edi, 0x63
mov edx, 0x63
cmp edx, 0x62
jge 0x61c443
mov dword [ebp + 0xa5b8], 3
mov dword [ebp + 0xa5cc], 0
mov dword [esp + 8], edi
fild dword [esp + 8]
fmul dword [0xa3491c]
fstp dword [ebp + 0xa5c8]
mov dl, byte [esi + 6]
test dl, dl
je 0x61c2c7
mov edx, 1
mov edi, 4
mov dword [ebp + 0x4c60], edx
mov byte [ebp + 0x4e7f], dl
mov byte [ebp + 0x4e80], 6
mov word [ebp + 0x4ba0], di
movsx edx, byte [esi + 6]
mov dword [esp + 8], edx
fild dword [esp + 8]
fmul dword [0xa34920]
fstp dword [ebp + 0x4ba4]
mov dl, byte [esi + 5]
test dl, dl
je 0x61c30a
mov edx, 1
mov edi, 4
mov dword [ebp + 0x4f48], edx
mov byte [ebp + 0x5167], dl
mov byte [ebp + 0x5168], 5
mov word [ebp + 0x4e88], di
movsx edx, byte [esi + 5]
mov dword [esp + 8], edx
fild dword [esp + 8]
fmul dword [0xa34918]
fstp dword [ebp + 0x4e8c]
mov dl, byte [esi + 8]
test dl, dl
je 0x61c44d
mov edx, 1
mov dword [ebp + 0xae4], edx
movsx edi, byte [esi + 8]
mov dword [esp + 8], edi
fild dword [esp + 8]
fmul dword [0xa34920]
fstp dword [ebp + 0xa28]
mov byte [ebp + 0xe34], dl
mov edx, 4
mov word [ebp + 0xa24], dx
mov dword [ebp + 0xe24], 2
mov dword [ebp + 0xb1c], 0
movzx edx, byte [esi + 0x11]
push edx
call fcn.0042365c
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
movzx edx, byte [esi + 0x12]
fmul qword [0xa34908]
fstp qword [esp + 0x18]
push edx
call fcn.00423648
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
movzx edx, byte [esi + 0x14]
fmul qword [0xa34908]
fstp qword [esp + 0x10]
push edx
call fcn.00423618
fmul qword [0xa34908]
movzx edx, byte [esi + 0x13]
mov dword [esp + 8], edx
fild dword [esp + 8]
fmul qword [0xa34900]
fld qword [esp + 0x18]
fst dword [ebp + 0xb24]
fcomp dword [0xa34914]
fnstsw ax
sahf
jae 0x61c3d7
mov dword [ebp + 0xb24], 0
mov dword [ebp + 0xb28], 0
fld qword [esp + 0x10]
fstp dword [ebp + 0xb2c]
fstp dword [ebp + 0xb20]
fstp dword [ebp + 0xb30]
mov dl, byte [esi + 0x19]
test dl, dl
je 0x61c44d
mov edx, 1
mov edi, 0xb
mov dword [ebp + 0x5230], edx
mov byte [ebp + 0x544f], dl
mov byte [ebp + 0x5450], 6
mov word [ebp + 0x5170], di
mov word [ebp + 0x5172], dx
movsx ecx, byte [esi + 0x19]
mov dword [esp + 8], ecx
fild dword [esp + 8]
fmul dword [0xa34920]
fstp dword [ebp + 0x5174]
jmp 0x61c44d
mov dword [ebp + 0xa5b8], 0
mov edx, 1
mov ecx, 3
mov eax, dword [esp + 0x20]
mov dword [ebp + 0x5518], edx
mov byte [ebp + 0x5737], dl
mov byte [ebp + 0x5738], dl
mov word [ebp + 0x5458], cx
mov dword [ebp + 0x545c], 0x3daaaaab
add esp, 0x2c
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
xor eax, eax
mov byte [ebp + 0x11], 0
jmp 0x61beaf