Function at 0x401cf0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x5c
mov ecx, dword [ecx + 0x34]
mov esi, dword [ecx + 8]
test esi, esi
js 0x401d0b
call dword [0xc36a88]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [eax + 4]
cmp edx, 2
jle 0x401ed0
mov edi, dword [eax + 0xc]
mov dword [ebp - 0x38], edi
movzx edi, byte [eax + edi + 2]
mov esi, dword [ebp - 0x38]
movzx esi, byte [eax + esi + 1]
sub esi, 3
mov ecx, esi
cmp cl, 1
jbe 0x401f60
mov esi, dword [ebx + 0x3c]
cmp esi, 1
je 0x402390
cmp esi, 2
je 0x401fe1
cmp esi, 3
je 0x4028a3
cmp esi, 4
je 0x402710
cmp esi, 5
je 0x402c90
cmp esi, 6
jne 0x401ef5
mov ecx, edi
cmp cl, 0x50
jne 0x401f49
mov esi, 3
jmp 0x401de2
fxch st(1)
fstp dword [ebp - 0x44]
mov ecx, dword [ebx + 0x2c]
fld st(0)
fstp dword [ebp - 0x40]
fstp qword [ebp - 0x38]
call dword [0xc369d8]
fld qword [ebp - 0x38]
fucomi st(1)
fstp st(1)
fld dword [ebp - 0x40]
fld dword [ebp - 0x44]
ja 0x402b90
fstp st(1)
mov ecx, dword [ebx + 0x20]
fstp qword [esp + 8]
add esi, 8
fstp qword [esp]
call dword [0xc369d0]
sub esp, 0x10
cmp esi, 0x53
je 0x403070
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [eax + 4]
xor ecx, ecx
cmp esi, edx
jge 0x401df1
lea edx, [eax + esi]
add edx, dword [eax + 0xc]
movzx ecx, byte [edx]
mov byte [ebx + 0x43], cl
lea edx, [esi + 1]
xor ecx, ecx
cmp edx, dword [eax + 4]
jge 0x401e06
add edx, eax
add edx, dword [eax + 0xc]
movzx ecx, byte [edx]
mov byte [ebx + 0x42], cl
lea edx, [esi + 2]
xor ecx, ecx
cmp edx, dword [eax + 4]
jge 0x401e1b
add edx, eax
add edx, dword [eax + 0xc]
movzx ecx, byte [edx]
mov byte [ebx + 0x41], cl
lea edx, [esi + 3]
xor ecx, ecx
cmp edx, dword [eax + 4]
jge 0x401e30
add edx, eax
add edx, dword [eax + 0xc]
movzx ecx, byte [edx]
mov byte [ebx + 0x40], cl
lea edx, [esi + 4]
xor ecx, ecx
cmp edx, dword [eax + 4]
fld dword [ebx + 0x40]
jge 0x401e48
add edx, eax
add edx, dword [eax + 0xc]
movzx ecx, byte [edx]
mov byte [ebx + 0x43], cl
lea edx, [esi + 5]
xor ecx, ecx
cmp edx, dword [eax + 4]
jge 0x401e5d
add edx, eax
add edx, dword [eax + 0xc]
movzx ecx, byte [edx]
mov byte [ebx + 0x42], cl
lea edx, [esi + 6]
xor ecx, ecx
cmp edx, dword [eax + 4]
jge 0x401e72
add edx, eax
add edx, dword [eax + 0xc]
movzx ecx, byte [edx]
mov byte [ebx + 0x41], cl
lea edx, [esi + 7]
xor ecx, ecx
cmp dword [eax + 4], edx
jle 0x401e87
add edx, eax
add edx, dword [eax + 0xc]
movzx ecx, byte [edx]
mov byte [ebx + 0x40], cl
fld dword [ebx + 0x40]
fxch st(1)
fucomi st(1)
ja 0x401d90
fstp dword [ebp - 0x44]
mov ecx, dword [ebx + 0x30]
fld st(0)
fstp dword [ebp - 0x40]
fstp qword [ebp - 0x38]
call dword [0xc369d8]
fld qword [ebp - 0x38]
fucomi st(1)
fstp st(1)
fld dword [ebp - 0x40]
fld dword [ebp - 0x44]
ja 0x402c10
fstp st(1)
fxch st(1)
jmp 0x401dbb
je 0x401fd4
mov esi, dword [ebx + 0x3c]
lea ecx, [esi - 1]
cmp ecx, 1
jbe 0x401f49
cmp esi, 3
je 0x401f49
cmp esi, 4
je 0x401f49
cmp esi, 5
je 0x401f49
cmp esi, 6
je 0x401f49
cmp esi, 7
je 0x402830
cmp esi, 0xa
je 0x40308e
cmp esi, 8
jne 0x401f49
add byte [ebx + 0x55], 1
mov dword [esp], 0xc
call fcn.00444b50
mov dword [eax], 1
mov dword [eax + 4], 0x405030
mov dword [eax + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], 0xa
call dword [0xc36a80]
mov dword [ebx + 0x3c], 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov ecx, edi
movzx esi, cl
movzx ecx, dl
add esi, 5
cmp esi, ecx
je 0x401d3d
lea esi, [ebp - 0x1c]
mov dword [esp], str.The_reply_frame_length_is_abnormal_
lea edi, [ebp - 0x20]
mov ecx, esi
call fcn.0045bfb0
sub esp, 4
mov ecx, edi
mov dword [esp], str.Unframe_failure
call fcn.0045bfb0
sub esp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x400
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], ebx
call dword [0xc36d18]
mov ecx, edi
call fcn.0045c060
mov ecx, esi
call fcn.0045c060
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov edi, dword [eax + 0xc]
mov dword [ebp - 0x38], edi
xor edi, edi
jmp 0x401d27
mov ecx, edi
cmp cl, 0x18
jne 0x401f49
xor esi, esi
cmp edx, 3
jle 0x401ffb
mov edi, dword [ebp - 0x38]
movzx esi, byte [eax + edi + 3]
mov ecx, esi
xor edx, edx
mov byte [ebx + 0x41], cl
cmp dword [eax + 4], 4
jg 0x4026a0
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
lea esi, [ebp - 0x1c]
mov edi, dword [eax + 0x14]
mov dword [esp + 8], 0xa
movzx eax, word [ebx + 0x40]
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [0xc36afc]
mov dword [ebp - 0x38], eax
call eax
mov ecx, edi
mov dword [esp], esi
mov edi, dword [0xc36f88]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 5
jle 0x402061
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 5]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 6
jg 0x4026d0
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x20]
mov dword [esp + 8], 0xa
movzx eax, word [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x38]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 7
jle 0x4020bb
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 7]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 8
jle 0x4020ce
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 8]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 9
jle 0x4020e1
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 9]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0xa
jg 0x4026c0
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [0xc36af8]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
mov dword [ebp - 0x38], eax
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0xb
jle 0x402147
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xb]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0xc
jle 0x40215a
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xc]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0xd
jle 0x40216d
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xd]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0xe
jg 0x402700
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0xf
jle 0x4021ce
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xf]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0x10
jle 0x4021e1
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x10]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0x11
jle 0x4021f4
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x11]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0x12
jg 0x4026f0
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0x13
jle 0x402255
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x13]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0x14
jle 0x402268
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x14]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0x15
jle 0x40227b
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x15]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0x16
jg 0x4026e0
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0x17
jle 0x4022dc
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x17]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0x18
jle 0x4022ef
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x18]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0x19
jle 0x402302
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x19]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0x1a
jg 0x4026b0
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x58]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov dword [esp], 0xc
call fcn.00444b50
mov dword [eax], 1
mov dword [eax + 4], 0x404180
mov dword [eax + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], 0x14
call dword [0xc36a80]
jmp 0x401f49
mov ecx, edi
cmp cl, 0x14
jne 0x401f49
xor esi, esi
cmp edx, 3
jle 0x4023aa
mov edi, dword [ebp - 0x38]
movzx esi, byte [eax + edi + 3]
mov ecx, esi
xor edx, edx
mov byte [ebx + 0x43], cl
cmp dword [eax + 4], 4
jle 0x4023bf
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 4]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 5
jle 0x4023d2
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 5]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 6
jg 0x402680
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
lea esi, [ebp - 0x1c]
mov edi, dword [eax + 0x194]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [0xc36af8]
fld dword [ebx + 0x40]
mov dword [esp], esi
fstp qword [esp + 4]
mov dword [ebp - 0x38], eax
call eax
mov ecx, edi
mov dword [esp], esi
mov edi, dword [0xc36f88]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 7
jle 0x402440
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 7]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 8
jle 0x402453
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 8]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 9
jle 0x402466
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 9]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0xa
jg 0x402690
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x178]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0xb
jle 0x4024ca
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xb]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0xc
jle 0x4024dd
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xc]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0xd
jle 0x4024f0
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xd]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0xe
jg 0x402661
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x184]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0xf
jle 0x402554
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xf]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0x10
jle 0x402567
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x10]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0x11
jle 0x40257a
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x11]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0x12
jg 0x402654
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x180]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0x13
jle 0x4025de
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x13]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0x14
jle 0x4025f1
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x14]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0x15
jle 0x402604
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x15]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0x16
jg 0x402670
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x198]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
jmp 0x401f49
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x12]
jmp 0x402589
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xe]
jmp 0x4024ff
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x16]
jmp 0x40260f
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 6]
jmp 0x4023e1
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xa]
jmp 0x402475
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 4]
jmp 0x40200c
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x1a]
jmp 0x402311
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xa]
jmp 0x4020f0
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 6]
jmp 0x402070
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x16]
jmp 0x40228a
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x12]
jmp 0x402203
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xe]
jmp 0x40217c
mov ecx, edi
cmp cl, 4
jne 0x401f49
mov esi, dword [0xc36a04]
cmp edx, 3
mov dword [ebp - 0x28], esi
jle 0x403061
mov edi, dword [ebp - 0x38]
cmp edx, 4
movzx ecx, byte [eax + edi + 3]
mov byte [ebp - 0x40], cl
je 0x40312a
movzx eax, byte [eax + edi + 4]
mov byte [ebp - 0x38], al
lea ecx, [ebp - 0x24]
mov dword [esp], 0x47557c
lea esi, [ebp - 0x28]
call fcn.0045bfb0
movzx eax, byte [ebp - 0x40]
sub esp, 4
lea edi, [ebp - 0x20]
mov edx, 0x20
mov dword [esp + 0x10], 0xa
mov dword [esp + 0xc], 0
mov word [esp + 0x14], dx
mov dword [esp + 8], 0
mov ecx, edi
mov dword [esp + 4], eax
lea eax, [ebp - 0x24]
mov dword [esp], eax
mov eax, dword [0xc36b78]
mov dword [ebp - 0x40], eax
call eax
sub esp, 0x18
mov eax, 0x20
lea esi, [ebp - 0x1c]
mov word [esp + 0x14], ax
movzx eax, byte [ebp - 0x38]
mov dword [esp + 0x10], 0xa
mov dword [esp + 0xc], 0
mov ecx, esi
mov dword [esp + 8], 0
mov dword [esp], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
call eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
sub esp, 0x18
mov ecx, esi
lea esi, [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], edx
call fcn.0045c060
mov ecx, edi
call fcn.0045c060
lea ecx, [ebp - 0x24]
call fcn.0045c060
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax + 0xa8]
mov dword [esp], esi
call dword [0xc36f88]
mov eax, dword [ebx + 0x18]
sub esp, 4
mov ecx, dword [eax + 0xa4]
mov dword [esp], 1
call dword [0xc36df4]
jmp 0x402645
cmp edx, 1
jle 0x401f49
mov edx, dword [eax + 0xc]
cmp byte [eax + edx + 1], 6
jne 0x401f49
lea esi, [ebp - 0x1c]
mov dword [esp], str.Data_cleared_
lea edi, [ebp - 0x20]
mov ecx, esi
call fcn.0045bfb0
sub esp, 4
mov ecx, edi
mov dword [esp], str.Succeed
call fcn.0045bfb0
sub esp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x400
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], ebx
call dword [0xc36d14]
mov ecx, edi
call fcn.0045c060
mov ecx, esi
call fcn.0045c060
jmp 0x401f49
mov ecx, edi
cmp cl, 0x14
jne 0x401f49
xor esi, esi
cmp edx, 3
jle 0x4028bd
mov edi, dword [ebp - 0x38]
movzx esi, byte [eax + edi + 3]
mov ecx, esi
xor edx, edx
mov byte [ebx + 0x41], cl
cmp dword [eax + 4], 4
jle 0x4028d2
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 4]
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
lea esi, [ebp - 0x1c]
mov edi, dword [eax + 0x84]
mov dword [esp + 8], 0xa
movzx eax, word [ebx + 0x40]
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [0xc36afc]
mov dword [ebp - 0x38], eax
call eax
mov ecx, edi
mov dword [esp], esi
mov edi, dword [0xc36f88]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 5
jle 0x40292a
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 5]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 6
jle 0x40293d
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 6]
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x68]
mov dword [esp + 8], 0xa
movzx eax, word [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x38]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 7
jle 0x402988
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 7]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 8
jle 0x40299b
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 8]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 9
jle 0x4029ae
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 9]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0xa
jle 0x4029c1
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xa]
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x74]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [0xc36af8]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
mov dword [ebp - 0x38], eax
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0xb
jle 0x402a18
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xb]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0xc
jle 0x402a2b
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xc]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0xd
jle 0x402a3e
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xd]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0xe
jle 0x402a51
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xe]
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0xf
jle 0x402aa3
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xf]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0x10
jle 0x402ab6
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x10]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0x11
jle 0x402ac9
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x11]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0x12
jle 0x402adc
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x12]
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0x88]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0x13
jle 0x402b31
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x13]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0x14
jle 0x402b44
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x14]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0x15
jle 0x402b57
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x15]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0x16
jle 0x402b6a
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x16]
mov byte [ebx + 0x40], dl
mov dword [esp], 0xc
call fcn.00444b50
mov dword [eax], 1
mov dword [eax + 4], 0x4045f0
jmp 0x402367
fxch st(1)
fnstcw word [ebp - 0x2a]
movzx eax, word [ebp - 0x2a]
mov ah, 0xc
mov word [ebp - 0x2c], ax
fldcw word [ebp - 0x2c]
fistp dword [ebp - 0x30]
fldcw word [ebp - 0x2a]
mov eax, dword [ebp - 0x30]
movzx edx, ax
mov ecx, eax
imul edx, edx, 0xcccd
shr edx, 0x13
lea edi, [edx + edx*4]
add edi, edi
cmp di, ax
je 0x402bca
lea edx, [edx + edx*4 + 5]
lea ecx, [edx + edx]
fstp dword [ebp - 0x44]
movzx ecx, cx
mov edi, dword [0xc36974]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebx + 0x2c]
fstp qword [ebp - 0x40]
fild dword [ebp - 0x38]
fst qword [esp]
fstp qword [ebp - 0x38]
call edi
fld qword [ebp - 0x38]
sub esp, 8
mov ecx, dword [ebx + 0x30]
fstp qword [esp]
call edi
fld qword [ebp - 0x40]
fld dword [ebp - 0x44]
sub esp, 8
jmp 0x401dbb
fxch st(1)
fnstcw word [ebp - 0x2a]
movzx eax, word [ebp - 0x2a]
mov ah, 0xc
mov word [ebp - 0x2c], ax
fldcw word [ebp - 0x2c]
fistp dword [ebp - 0x30]
fldcw word [ebp - 0x2a]
mov eax, dword [ebp - 0x30]
movzx edx, ax
mov ecx, eax
imul edx, edx, 0xcccd
shr edx, 0x13
lea edi, [edx + edx*4]
add edi, edi
cmp di, ax
je 0x402c4a
lea edx, [edx + edx*4 + 5]
lea ecx, [edx + edx]
fstp dword [ebp - 0x44]
movzx ecx, cx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebx + 0x2c]
fstp qword [ebp - 0x40]
fild dword [ebp - 0x38]
fst qword [esp]
fstp qword [ebp - 0x38]
call dword [0xc36974]
fld qword [ebp - 0x38]
sub esp, 8
mov ecx, dword [ebx + 0x30]
fstp qword [esp]
call dword [0xc36974]
fld dword [ebp - 0x44]
sub esp, 8
fld qword [ebp - 0x40]
jmp 0x401dbb
mov ecx, edi
cmp cl, 0x1a
jne 0x401f49
xor esi, esi
cmp edx, 3
jle 0x402caa
mov edi, dword [ebp - 0x38]
movzx esi, byte [eax + edi + 3]
mov ecx, esi
xor edx, edx
mov byte [ebx + 0x41], cl
cmp dword [eax + 4], 4
jle 0x402cbf
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 4]
mov byte [ebx + 0x40], dl
movzx eax, word [ebx + 0x40]
mov edx, dword [ebx + 0x18]
cmp ax, 4
je 0x4030ac
lea esi, [ebp - 0x1c]
mov ecx, dword [edx + 0xf0]
mov dword [esp], eax
call dword [0xc36f34]
sub esp, 4
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 5
jle 0x402cfd
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 5]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 6
jle 0x402d10
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 6]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 7
jle 0x402d23
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 7]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 8
jle 0x402d36
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 8]
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov edi, dword [eax + 0xc0]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [0xc36af8]
fld dword [ebx + 0x40]
mov dword [esp], esi
fstp qword [esp + 4]
mov dword [ebp - 0x38], eax
call eax
mov ecx, edi
mov dword [esp], esi
mov edi, dword [0xc36f88]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 9
jle 0x402d92
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 9]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0xa
jle 0x402da5
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xa]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0xb
jle 0x402db8
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xb]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0xc
jle 0x402dcb
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xc]
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0xcc]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0xd
jle 0x402e20
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xd]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0xe
jle 0x402e33
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xe]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0xf
jle 0x402e46
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0xf]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0x10
jle 0x402e59
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x10]
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0xd4]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0x11
jle 0x402eae
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x11]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0x12
jle 0x402ec1
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x12]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0x13
jle 0x402ed4
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x13]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0x14
jle 0x402ee7
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x14]
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0xc4]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0x15
jle 0x402f3c
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x15]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0x16
jle 0x402f4f
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x16]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0x17
jle 0x402f62
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x17]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0x18
jle 0x402f75
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x18]
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0xdc]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebp + 8]
xor edx, edx
mov eax, dword [eax]
cmp dword [eax + 4], 0x19
jle 0x402fca
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x19]
mov byte [ebx + 0x43], dl
xor edx, edx
cmp dword [eax + 4], 0x1a
jle 0x402fdd
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x1a]
mov byte [ebx + 0x42], dl
xor edx, edx
cmp dword [eax + 4], 0x1b
jle 0x402ff0
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x1b]
mov byte [ebx + 0x41], dl
xor edx, edx
cmp dword [eax + 4], 0x1c
jle 0x403003
mov edx, dword [eax + 0xc]
movzx edx, byte [eax + edx + 0x1c]
mov eax, dword [ebx + 0x18]
mov byte [ebx + 0x40], dl
mov ecx, dword [eax + 0xe4]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0x67
mov eax, dword [ebp - 0x38]
fld dword [ebx + 0x40]
mov dword [esp], esi
mov dword [ebp - 0x40], ecx
fstp qword [esp + 4]
call eax
mov dword [esp], esi
mov ecx, dword [ebp - 0x40]
call edi
sub esp, 4
mov ecx, esi
call fcn.0045c060
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax + 0x16c]
mov dword [esp], 1
call dword [0xc36df4]
sub esp, 4
jmp 0x401f49
mov byte [ebp - 0x38], 0
mov byte [ebp - 0x40], 0
jmp 0x402749
mov dword [esp], 0xc
call fcn.00444b50
mov dword [eax], 1
mov dword [eax + 4], 0x405bb0
jmp 0x401f29
mov dword [esp], 0xc
call fcn.00444b50
mov dword [eax], 1
mov dword [eax + 4], 0x4061b0
jmp 0x401f29
lea esi, [ebp - 0x1c]
mov edi, dword [edx + 0xf0]
mov dword [esp], str.Irregular_section
mov ecx, esi
call fcn.0045bfb0
sub esp, 4
mov ecx, edi
mov dword [esp], esi
call dword [0xc36f30]
sub esp, 4
mov ecx, esi
call fcn.0045c060
jmp 0x402ce8
mov byte [ebp - 0x38], 0
jmp 0x402749